abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 18:11 | Nová verze

    Byl vydán Mozilla Firefox 159.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 159 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    včera 14:11 | IT novinky

    Nasazení softwaru, který nyní používá ve svých autech pro čínský trh, zvažuje automobilový koncern Volkswagen také v Evropě, kde by se mohl používat v budoucích vozech značek Volkswagen, Škoda a Cupra. Základem pro budoucí evropské modely by se mohla stát takzvaná China Electronic Architecture, elektronická architektura vyvinutá pro čínské modely ve spolupráci s tamní automobilkou Xpeng.

    Ladislav Hagara | Komentářů: 12
    včera 13:44 | Komunita

    Vedoucím brněnské pobočky Red Hatu se stal Radek Vokál [LinkedIn].

    Ladislav Hagara | Komentářů: 3
    26.10. 21:29 | Nová verze

    Open source download manager Fatrat povstal z popela. Autor k dvacetiletému výročí projektu přidal do vínku podporu nejnovější knihovny libtorrent, rozhraní portoval na QT6, došlo k nahrazení podpory java rozšíření pythonem. Webové rozhraní bylo přepsáno s podporou mobilních zařízení. Aplikaci je taktéž možno zkompilovat bez podpory GUI. Více informací v releases.

    Max | Komentářů: 29
    26.10. 21:11 | Bezpečnostní upozornění

    Zranitelnost Broccoli2Shell (CVE-2026-111497) v kompresní knihovně Brotli se netýká pouze Node.js. Ohroženy jsou také aplikace využívající HTTP. Knihovnu používají webové prohlížeče, servery i řada dalších aplikací a technologií, například také Python nebo Bun. Identifikace všech zranitelných komponent může být obtížná, protože knihovna bývá součástí dalších softwarových balíčků nebo je přímo začleněna do spustitelných souborů aplikací.

    Ladislav Hagara | Komentářů: 5
    26.10. 18:33 | Komunita

    Quad9, švýcarský celosvětově působící neziskový poskytovatel DNS, od 24. listopadu 2026 ukončí své služby ve Francii kvůli soudnímu sporu s katarskou televizní stanicí beIN. Ta požadovala blokování domén, které podle ní nelegálně zpřístupňují sportovní přenosy. Francouzský soud Katarům vyhověl a nařídil (🇫🇷, PDF) Quad9 blokaci zavést, pod hrozbou pokuty 1000 eur denně. Provozovatel příkaz odmítá s tím, že blokace

    … více »
    Pendrekama do nich❗ | Komentářů: 1
    26.10. 15:22 | Zajímavý článek

    Článek na blogu APNIC vysvětluje, jak správně vytvářet a používat ASPA záznamy — podepsané objekty v RPKI, které uvádějí, kteří poskytovatelé směrování jsou pro dané autonomní číslo (ASN) oprávněni. Síťoví operátoři je mohou využít k ověřování tras BGP a k odhalování úniků tras či podvržených tras.

    vencour | Komentářů: 1
    26.10. 14:33 | Nová verze

    Byla vydána (𝕏) verze 8.0.0 open source programu pro prolamování hesel hashcat (GitHub, Wikipedie). Přehled novinek v příspěvku v diskusním fóru a pdf.

    Ladislav Hagara | Komentářů: 0
    26.10. 14:22 | Nová verze

    Byla vydána (𝕏, Bluesky) nová verze 2026.3 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem 6 nových nástrojů v oficiálním oznámení na blogu.

    Ladislav Hagara | Komentářů: 1
    26.10. 08:35 | Komunita
    Pořadatelé dalšího ročníku komunitního setkání správců nejen českých a slovenských sítí CSNOG 2027 upozorňují, Call for Abstracts pro blížící se akci (20. a 21. ledna 2027, Zlín) končí už 31. října, tedy na konci tohoto týdne.. … více »
    VSladek | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (30%)
     (9%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2931 hlasů
     Komentářů: 34, poslední 26.10. 08:24
    Rozcestník

    PyQt4 memory leak?

    23.11.2008 13:21 | Přečteno: 1223× | Linux | poslední úprava: 23.11.2008 13:20

    Nedávno som začal viac-menej z donútenia (škola) robiť nejaký program ako semestrálku v pythonovi. Konkrétne som si povedal, že urobím gui k boinc_client-ovi. Prekvapilo ma ale, že aplikácia zaberá stále viac RAM.

    Takže po dlhom skúmaní som došiel k záveru, že problém je niekde okolo riadku s data = QVariant.fromList(...). Tak som urobil malý programík v pythonovi na ktorom by som si vyskúšal ako sa dá uvoľniť táto pamäť. Takže obsah toho malého programíku:

    from PyQt4.QtCore import QVariant
    
    while True:
    	zoznam = QVariant.fromList([QVariant('text1'), QVariant('text2')])
    	zoznam.clear()
    	del(zoznam)
    

    Predpokladám, že tento kód v pythonovi by mal byť ekvivalentný s nasledujúcim programom v C++:

    #include <QVariant>
    #include <QList>
    
    int main(int argc, char *argv[])
    {
    	while (1)
    	{
    		QList<QVariant> zoznam;
    		zoznam.append(QVariant("text1"));
    		zoznam.append(QVariant("text2"));
    		QVariant variant = QVariant(zoznam);
    	}
    }
    

    Napriek tomu po spustení programu v pythonovi sa obsadená RAM stále zväčšuje zatiaľ čo v C++ nie. Robím niečo zle alebo je chyba skutočne niekde mimo môjho kódu? Robí to problémy aj ostatným užívateľom alebo len mne (napríklad preto, že PyQt4 zle skompiloval)?

    Pre tých ktorí chcú vidieť čo to vlastne robím som prihodil aj screenshoty, prípadne môžete pozrieť video, zdrojové kódy nedám, hambím sa za ne.

           

    Hodnocení: 100 %

            špatné • dobré        

    Obrázky

    PyQt4 memory leak?, obrázek 1 PyQt4 memory leak?, obrázek 2

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    Luboš Doležel (Doli) avatar 23.11.2008 13:23 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: PyQt4 memory leak?
    Jak má tohle fungovat?
    QVariant variant = QVariant(zoznam);
    Ten řádek je k ničemu...
    mirec avatar 23.11.2008 13:28 mirec | skóre: 33 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: PyQt4 memory leak?
    Robí zhruba to isté čo v python zdrojovom kóde. Išlo mi len o to aby vytváralo QVariant objekt (aby som vyskúšal či nie je chyba v Qt4). Tie 2 zdrojové kódy nemajú žiaden hlbší zmysel, akurát jeden z nich na mojom stroji žerie nenormálne veľa RAM.
    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    Luboš Doležel (Doli) avatar 23.11.2008 13:44 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: PyQt4 memory leak?
    Aha, už to chápu, nevšimnul jsem si toho listu v Pythonu.
    andree avatar 23.11.2008 15:51 andree | skóre: 39 | blog: andreeeeelog
    Rozbalit Rozbalit vše Re: PyQt4 memory leak?

    noo, medzi tymi testami je viacero rozdielov... najzasadnejsi ale asi v tom, ze v c++ kode sa ti tie objekty naozaj uvolnia z RAM, kym v pythone je garbage collector.. skus tam este ked tak pridat import gc; gc.collect() za ten kod 'del'

    mirec avatar 23.11.2008 16:12 mirec | skóre: 33 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: PyQt4 memory leak?
    No znížilo to spotrebu RAM na asi 50 kB/s. Neviem či to je spôsobené spomalením zamotného programu (teda volaním collect) alebo to uvoľňuje niečo navyše.
    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    mirec avatar 23.11.2008 18:04 mirec | skóre: 33 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: PyQt4 memory leak?
    Ok, takže som trochu skúmal či je to menej nenažrané. V skutočnosti to len extrémne spomalí beh (samozrejme hovorím o tom malom testovacom programe, pri obyčajnom gui to je samozrejme zanedbateľné).
    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    23.11.2008 20:55 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: PyQt4 memory leak?
    Zkus nastavit debugovací režim garbage collectoru gc.set_debug(gc.DEBUG_LEAK). V gc.garbage bys pak měl mít seznam objektů, které se nedají uvolnit.
    When your hammer is C++, everything begins to look like a thumb.
    mirec avatar 23.11.2008 21:42 mirec | skóre: 33 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: PyQt4 memory leak?
    To zvyknem vždy kontrolovať. Výstup po určitom počte iterácii (na asi 100MB) je [].
    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    24.11.2008 09:18 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: PyQt4 memory leak?
    Takže na openSUSE 11.1 mi to dělá to samé. Navíc volání gc.collect() program spíše jenom zpomalí, takže se zdá, že to něco řeší, ale vždy vrátí 0 uvolněných objektů. Co narůstá je počet objektů (gc.get_objects()), přičemž garbage collector se zdá pracuje, protože počet objektů v jednotlivých generací gc.get_count() roste, ale taky klesá.

    Při nastaveném gc.DEBUG_STATS to naopak vypadá, že collector nepracuje, protože počet objektů roste. Ale ony si údaje gc.get_count() a to, co vypisuje gc samotný, moc neodpovídají.
    gc: done.                                     
    gc: collecting generation 0...                
    gc: objects in each generation: 703 6300 58705
    gc: done.                                     
    gc: collecting generation 0...                
    gc: objects in each generation: 703 7000 58705
    gc: done.                                     
    gc: collecting generation 1...                
    gc: objects in each generation: 703 7700 58705
    gc: done.                                     
    gc: collecting generation 0...                
    gc: objects in each generation: 703 0 67105  
    
    Podle mě je to bug a mělo by to být oznámeno autorům PyQt4.
    When your hammer is C++, everything begins to look like a thumb.
    mirec avatar 23.11.2008 23:08 mirec | skóre: 33 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: PyQt4 memory leak?
    Ok, takže skúsme to uzavrieť. Prosím ak má niekto PyQt4 nech skúsi či to isté robí aj na inom stroji (teda hlavne na inej distribúcii). Predpokladám, že to asi nie je moja chyba, takže ak to robí aj niekomu inému nebolo by zlé nahlásiť bug.
    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    24.11.2008 00:07 helb
    Rozbalit Rozbalit vše Re: PyQt4 memory leak?
    Zkusil jsem a deje se mi to na notebooku (gentoo 32bit, python 2.6, PyQt4 4.4.4) i desktopu (gentoo 64it, python 2.5, PyQt4 4.4.3).

    Založit nové vlákno • Nahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.