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 10:00 | Komunita

Společnost PINE64 stojící za telefonem PinePhone, notebooky Pinebook a Pinebook Pro, IP kamerou PineCube, hodinkami PineTime, páječkou (pájecím perem) Pinecil, zdroji PinePower nebo RISC-V vývojovou deskou PineCone publikovala na svém blogu lednový souhrn novinek. Opět společně s videem (YouTube, LBRY, TILvids). Od 18. ledna bude možné objednat PinePhone s předinstalovaným Mobianem aneb Debianem pro mobilní zařízení.

Ladislav Hagara | Komentářů: 11
včera 09:00 | Nová verze

Byla vydána nová verze 3.6 svobodného notačního programu MuseScore (Wikipedie). Představení novinek také na YouTube. Zdůrazněn je nový font Leland. Jeho představení na YouTube.

Ladislav Hagara | Komentářů: 0
15.1. 18:44 | Zajímavý projekt

Fedora Magazine představil projekt Fedora Kinoite aneb Fedoru Silverblue s prostředím KDE Plasma. Fedora Silverblue je neměnný systém s atomickými aktualizacemi, tj. základní systém je distribuován jako celek, s prostředím GNOME.

Ladislav Hagara | Komentářů: 4
15.1. 10:00 | IT novinky

Projekty Elasticsearch a Kibana, doposud distribuované pod licencí Apache 2.0, přejdou na duální licencování pod Server-Side Public License (původně používanou pro MongoDB a neschválenou jako open-source organizací OSI) a vlastní source-available licencí. Změna vejde v platnost počínaje vydáním 7.11.

Fluttershy, yay! | Komentářů: 0
15.1. 09:00 | Komunita

Na Humble Bundle lze do neděle 17. ledna do 19:00 získat zdarma počítačovou hru Bomber Crew (YouTube, Wikipedie) běžící také v Linuxu.

Ladislav Hagara | Komentářů: 1
15.1. 08:00 | Nová verze

Minimalistická linuxová distribuce Alpine byla vydána v nové stabilní řadě 3.13. Novinkou jsou např. oficiální obrazy v cloudu (AWS EC2), vylepšené síťové nástroje nebo podpora PHP 8.0.

Fluttershy, yay! | Komentářů: 0
15.1. 07:00 | Bezpečnostní upozornění

Uživatelé Admineru verze 3.7.1 a starších mohli být 29. a 30. prosince napadeni. Útočníkovi se podařilo do souboru jush.js, který se do této verze ještě stahoval z adminer.org, vložit kód, který mu odesílal přihlašovací údaje. Pokud jste v tomto čase tuto více než 7 let starou verzi Admineru používali, tak změňte hesla databází, ke kterým jste se přihlašovali. Novější verze ovlivněné nejsou.

Ladislav Hagara | Komentářů: 2
15.1. 00:11 | Zajímavý článek

Ernie Smith píše o historii populárních routerů Linksys WRT54G, jejichž software byl založený na Linuxu, a proto posléze díky GNU GPL uvolněn jako open source, což vedlo k vývoji alternativního softwaru jako DD-WRT či OpenWrt a řadě dalších využití.

Fluttershy, yay! | Komentářů: 0
14.1. 18:11 | Nová verze

Po roce vývoje od vydání verze 5.0 a více než 8 300 změnách byla vydána nová stabilní verze 6.0 softwaru, který vytváří aplikační rozhraní umožňující chod aplikací pro Microsoft Windows také pod GNU/Linuxem, Wine (Wikipedie). Z novinek lze zdůraznit core moduly ve formátu PE, Vulkan backend pro WineD3D, podporu DirectShow a Media Foundation nebo redesign textové konzole. Podrobnosti v poznámkách k vydání.

Ladislav Hagara | Komentářů: 4
14.1. 14:00 | Zajímavý článek

Guido Günther z Purism napsal článek Phosh Overview o uživatelském prostředí pro mobilní systémy Phosh. Přehledově popisuje co jednotlivé komponenty dělají a jak jsou propojeny.

joejoe | Komentářů: 1
Jestliže používáte distribuci CentOS, kterou náhradu plánujete vzhledem k oznámenému ukončení vydávání?
 (31%)
 (3%)
 (2%)
 (24%)
 (0%)
 (2%)
 (38%)
Celkem 146 hlasů
 Komentářů: 3, poslední 10.1. 13:01
Rozcestník

Dotaz: python memory leak

6.11.2017 13:45 marek
python memory leak
Přečteno: 611×

Dobry den.

Spotreba pameti tohoto programku s casem roste:

#!/usr/bin/env python3
import gi,signal
gi.require_version('Gtk', '3.0')
gi.require_version('AppIndicator3', '0.1')
from gi.repository import AppIndicator3, GLib, Gtk
from xkbgroup import XKeyboard
class IndicatorTestIcon:
    NAME = ""
    xkb = XKeyboard()
    def __init__( self ):
        self.indicator = AppIndicator3.Indicator.new( "xkb", self.getIconName(), AppIndicator3.IndicatorCategory.APPLICATION_STATUS )
        self.indicator.set_status( AppIndicator3.IndicatorStatus.ACTIVE )
        self.buildMenu()
    def main( self ):
        GLib.timeout_add(500, self.update )
        Gtk.main()
        return True
    def update( self ):
        if self.xkb.group_symbol+self.xkb.group_variant != self.NAME:
            self.indicator.set_icon_full( self.getIconName(), "" )
        self.NAME = self.xkb.group_symbol+self.xkb.group_variant
        return True
    def buildMenu( self ):
        menu = Gtk.Menu()
        for x in range(0, self.xkb.groups_count):
            if self.xkb.groups_variants[x] :
                name = self.xkb.groups_symbols[x]+"("+self.xkb.groups_variants[x]+")"
            else:
                name = self.xkb.groups_symbols[x]
            item = Gtk.MenuItem(name)
            item.connect('activate', self.ac, x)
            menu.append(item)
            del item
        self.indicator.set_menu( menu )
        menu.show_all()
        del menu
        return True
    def ac(self, source, ic):
        self.buildMenu()
        self.xkb.group_num=ic
        return True
    def getIconName( self ):
        if self.xkb.group_variant != "" :
            return "/usr/local/sbin/kbdata/"+self.xkb.group_symbol+"("+self.xkb.group_variant+").xpm"
        return "/usr/local/sbin/kbdata/"+self.xkb.group_symbol+".xpm"
signal.signal(signal.SIGINT, signal.SIG_DFL)
if __name__ == "__main__": IndicatorTestIcon().main()

Mam to pusteno trikrat, prvni proces bezi 2 dny, druhu par sekund, treti par hodin:

<[user@localhost ~]$ ps -C python3 -o pid --no-headers| xargs -l1 pmap -x 14752 | grep  total
[user@localhost ~]$
total kB          894988  295364  252572
total kB          572488   43616   17300
total kB          582132   53288   26956
[user@localhost ~]$

Jak je mozne, ze se spotreba pameti tolik lisi, cim tomu zabranit?

Programek zobrazuje v tray aktualni rozlozeni klavesnice - jak to pripadne udelat lepe?

Dekuji.

marek

Řešení dotazu:


Odpovědi

6.11.2017 18:04 ehmmm
Rozbalit Rozbalit vše Re: python memory leak
Takhle laicky na prvni pohled se nabizi prozkoumat chovani set_icon_full().
7.11.2017 13:18 marek
Rozbalit Rozbalit vše Re: python memory leak

Dekuji za odpoved.

po zkoumani jsem zjistil, ze spotreba pameti roste i kdyz to ocesam pouze na:

#!/usr/bin/env python3
from xkbgroup import XKeyboard
import time

while True:
    xkb = XKeyboard()
    time.sleep(0.1)
    del xkb

Takze chyba snad nalezena...

marek

Založit nové vláknoNahoru

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

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