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í
×
    dnes 00:11 | Nová verze

    Open source modální textový editor Helix, inspirovaný editory Vim, Neovim či Kakoune, byl vydán ve verzi 25.07. Přehled novinek se záznamy terminálových sezení v asciinema v oznámení na webu. Detailně v CHANGELOGu na GitHubu.

    Ladislav Hagara | Komentářů: 0
    včera 20:44 | IT novinky

    Americký výrobce čipů Nvidia získal od vlády prezidenta Donalda Trumpa souhlas s prodejem svých pokročilých počítačových čipů používaných k vývoji umělé inteligence (AI) H20 do Číny. Prodej těchto čipů speciálně upravených pro čínský trh by tak mohl být brzy obnoven, uvedla firma na svém blogu. Americká vláda zakázala prodej v dubnu, v době eskalace obchodního sporu mezi oběma zeměmi. Tehdy to zdůvodnila obavami, že by čipy mohla využívat čínská armáda.

    Ladislav Hagara | Komentářů: 0
    včera 17:22 | Nová verze

    3D software Blender byl vydán ve verzi 4.5 s prodlouženou podporou. Podrobnosti v poznámkách k vydání. Videopředstavení na YouTube.

    Ladislav Hagara | Komentářů: 0
    14.7. 22:22 | Komunita

    Open source webový aplikační framework Django slaví 20. narozeniny.

    Ladislav Hagara | Komentářů: 0
    14.7. 16:11 | Komunita

    V Brestu dnes začala konference vývojářů a uživatelů linuxové distribuce Debian DebConf25. Na programu je řada zajímavých přednášek. Sledovat je lze online.

    Ladislav Hagara | Komentářů: 0
    14.7. 11:33 | IT novinky

    Před 30 lety, tj. 14. července 1995, se začala používat přípona .mp3 pro soubory s hudbou komprimovanou pomocí MPEG-2 Audio Layer 3.

    Ladislav Hagara | Komentářů: 26
    14.7. 10:55 | IT novinky

    Výroba 8bitových domácích počítačů Commodore 64 byla ukončena v dubnu 1994. Po více než 30 letech byl představen nový oficiální Commodore 64 Ultimate (YouTube). S deskou postavenou na FPGA. Ve 3 edicích v ceně od 299 dolarů a plánovaným dodáním v říjnu a listopadu letošního roku.

    Ladislav Hagara | Komentářů: 20
    13.7. 17:55 | Zajímavý projekt

    Společnost Hugging Face ve spolupráci se společností Pollen Robotics představila open source robota Reachy Mini (YouTube). Předobjednat lze lite verzi za 299 dolarů a wireless verzi s Raspberry Pi 5 za 449 dolarů.

    Ladislav Hagara | Komentářů: 17
    11.7. 16:44 | Komunita

    Dnes v 17:30 bude oficiálně vydána open source počítačová hra DOGWALK vytvořena v 3D softwaru Blender a herním enginu Godot. Release party proběhne na YouTube od 17:00.

    Ladislav Hagara | Komentářů: 3
    11.7. 14:55 | Humor

    McDonald's se spojil se společností Paradox a pracovníky nabírá také pomocí AI řešení s virtuální asistentkou Olivii běžící na webu McHire. Ian Carroll a Sam Curry se na toto AI řešení blíže podívali a opravdu je překvapilo, že se mohli přihlásit pomocí jména 123456 a hesla 123456 a získat přístup k údajům o 64 milionech uchazečů o práci.

    Ladislav Hagara | Komentářů: 16
    Jaký je váš oblíbený skriptovací jazyk?
     (59%)
     (26%)
     (7%)
     (3%)
     (1%)
     (1%)
     (4%)
    Celkem 397 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    Rozcestník

    Administrace komentářů

    Jste na stránce určené pro řešení chyb a problémů týkajících se diskusí a komentářů. Můžete zde našim administrátorům reportovat špatně zařazenou či duplicitní diskusi, vulgární či osočující příspěvek a podobně. Děkujeme vám za vaši pomoc, více očí více vidí, společně můžeme udržet vysokou kvalitu AbcLinuxu.cz.

    Příspěvek
    6.4.2022 14:33 MilanC | skóre: 16
    Rozbalit Rozbalit vše C, multithread libcurl s openssl a paměťová náročnost
    Ahoj,

    nějak si nevím rady. Píši komunikančí aplikaci, která má za cíl synchronizovat nastavení embedded zařízení.

    Má aplikace využívá sdílených knihoven:
    ./msdk-linux-objdump -x ../../../romfs/bin/sthelper | grep NEEDED
      NEEDED               libapmib.so
      NEEDED               libcurl.so.4
      NEEDED               libm.so.0
      NEEDED               libjson-c.so.5
      NEEDED               libpthread.so.0
      NEEDED               libcrypto.so.1.0.0
      NEEDED               libc.so.0
    
    Všechny tyto sdílené knihovny mají dohromady velikost asi 2,5 MB. V aplikaci využívám vlákna, některá jsou pevně daná, jiná se alokují dynamicky. Každé vlákno nějakým způsobem komunikuje po internetu, většinu času ale spí. Typicky je vláken třeba 6-10. V každém vlákně vytvářím vlastní CURL handle, je to dle příkladu: https://curl.se/libcurl/c/threaded-ssl.html. Používám také zámky pro openssl (crypto.h), které jsem tam popsány.

    Nikde příliš nemohu najít, jestli by se nedal CURL handle sdílet mezi vlákny, třeba s pomocí curl_easy_setopt(curl, CURLOPT_SHARE, ...). Většinou píšou, že můj postup je správný a každý thread si vytváří a spravuje vlastní CURL handle přes curl_easy_init/curl_easy_cleanup.

    Můj problém je v tom, že spuštěná aplikace třeba s 8 vlákny si vezme cca 20MB RAM.

    Pokusy jsem dospěl k poznání, že to je asi závislé jen na počtu otevřených CURL handlů. Je to Embedded zařízení a takové nároky jsou problém. Navíc počet vláken se může v čase zvyšovat (dle informací získaných přes API). Načež mi zbývají třeba 3MB free RAM. Dostat do toho embedded linuxu valgrind a memcheck se mi sice podařilo, ale použít mi nejde, kvůli nedostatku RAM. Následující výpisy možná napoví, pokud je tu někdo, kdo se v tom vyzná...
    / # cat /proc/4870/status
    Name:   sthelper
    State:  S (sleeping)
    Tgid:   4870
    Pid:    4870
    PPid:   1
    TracerPid:      0
    Uid:    0       0       0       0
    Gid:    0       0       0       0
    FDSize: 32
    Groups:
    VmPeak:    24848 kB
    VmSize:    20944 kB
    VmLck:         0 kB
    VmPin:         0 kB
    VmHWM:      5536 kB
    VmRSS:      5520 kB
    VmData:    17248 kB
    VmStk:       160 kB
    VmExe:        48 kB
    VmLib:      3040 kB
    VmPTE:        48 kB
    VmSwap:        0 kB
    Threads:        8
    SigQ:   0/160
    SigPnd: 00000000000000000000000000000000
    ShdPnd: 00000000000000000000000000000000
    SigBlk: 00000000000000000000000000000000
    SigIgn: 00000000000000000000000000001004
    SigCgt: 00000000000000000000000180000002
    CapInh: 0000000000000000
    CapPrm: 0000001fffffffff
    CapEff: 0000001fffffffff
    CapBnd: 0000001fffffffff
    Cpus_allowed:   1
    Cpus_allowed_list:      0
    voluntary_ctxt_switches:        1041
    nonvoluntary_ctxt_switches:     24
    
    Zde je vidět, že nejvíce zabírá VmData. (size of data, stack, and text segments) Tedy předpokládám, že jsou to proměnné, nejspíš ty mé CURL handles. Když nějaká vlákna vykomentuji, náročnost na paměť jde docela dost dolů (cca 3-4MB na vlákno).
    / # cat /proc/4870/maps
    00400000-0040c000 r-xp 00000000 1f:01 76         /bin/sthelper
    00418000-0041c000 rw-p 00008000 1f:01 76         /bin/sthelper
    0041c000-0066c000 rwxp 00000000 00:00 0          [heap]
    75fa0000-75fa4000 ---p 00000000 00:00 0
    75fa4000-761a0000 rw-p 00000000 00:00 0          [stack:4892]
    761a0000-761a4000 ---p 00000000 00:00 0
    761a4000-763a0000 rw-p 00000000 00:00 0          [stack:4891]
    763a0000-763a4000 ---p 00000000 00:00 0
    763a4000-765a0000 rw-p 00000000 00:00 0          [stack:4890]
    765a0000-765a4000 ---p 00000000 00:00 0
    765a4000-767a0000 rw-p 00000000 00:00 0          [stack:4889]
    767a0000-767a4000 ---p 00000000 00:00 0
    767a4000-769a0000 rw-p 00000000 00:00 0          [stack:4888]
    769a0000-769a4000 ---p 00000000 00:00 0
    769a4000-76ba0000 rw-p 00000000 00:00 0          [stack:4885]
    76ba0000-76ba4000 ---p 00000000 00:00 0
    76ba4000-76da0000 rw-p 00000000 00:00 0          [stack:4879]
    76da0000-76dac000 rw-s 00000000 00:04 98307      /SYSV3e0a0239 (deleted)
    76dac000-76db8000 rw-s 00000000 00:04 65538      /SYSV3d0a0239 (deleted)
    76db8000-76dbc000 r-xp 00000000 1f:01 344        /lib/libdl-0.9.33.so
    76dbc000-76dc8000 ---p 00000000 00:00 0
    76dc8000-76dcc000 rw-p 00000000 1f:01 344        /lib/libdl-0.9.33.so
    76dcc000-76e24000 r-xp 00000000 1f:01 375        /lib/libssl.so.1.0.0
    76e24000-76e30000 ---p 00000000 00:00 0
    76e30000-76e38000 rw-p 00054000 1f:01 375        /lib/libssl.so.1.0.0
    76e38000-76e88000 r-xp 00000000 1f:01 369        /lib/libuClibc-0.9.33.so
    76e88000-76e94000 ---p 00000000 00:00 0
    76e94000-76e98000 rw-p 0004c000 1f:01 369        /lib/libuClibc-0.9.33.so
    76e98000-76e9c000 rw-p 00000000 00:00 0
    76e9c000-77014000 r-xp 00000000 1f:01 358        /lib/libcrypto.so.1.0.0
    77014000-77020000 ---p 00000000 00:00 0
    77020000-77038000 rw-p 00174000 1f:01 358        /lib/libcrypto.so.1.0.0
    77038000-7703c000 rw-p 00000000 00:00 0
    7703c000-77050000 r-xp 00000000 1f:01 361        /lib/libpthread-0.9.33.so
    77050000-7705c000 ---p 00000000 00:00 0
    7705c000-77060000 rw-p 00010000 1f:01 361        /lib/libpthread-0.9.33.so
    77060000-77064000 rw-p 00000000 00:00 0
    77064000-77080000 r-xp 00000000 1f:01 347        /lib/libjson-c.so.5.1.0
    77080000-7708c000 ---p 00000000 00:00 0
    7708c000-77090000 rw-p 00018000 1f:01 347        /lib/libjson-c.so.5.1.0
    77090000-770a8000 r-xp 00000000 1f:01 368        /lib/libm-0.9.33.so
    770a8000-770b4000 ---p 00000000 00:00 0
    770b4000-770b8000 rw-p 00014000 1f:01 368        /lib/libm-0.9.33.so
    770b8000-77130000 r-xp 00000000 1f:01 355        /lib/libcurl.so.4.7.0
    77130000-77140000 ---p 00000000 00:00 0
    77140000-77144000 rw-p 00078000 1f:01 355        /lib/libcurl.so.4.7.0
    77144000-77150000 r-xp 00000000 1f:01 353        /lib/libapmib.so
    77150000-7715c000 ---p 00000000 00:00 0
    7715c000-7716c000 rw-p 00008000 1f:01 353        /lib/libapmib.so
    7716c000-77170000 rw-p 00000000 00:00 0
    77170000-77178000 r-xp 00000000 1f:01 348        /lib/ld-uClibc-0.9.33.so
    77178000-7717c000 rw-s 00000000 00:04 32769      /SYSV410a0239 (deleted)
    7717c000-77180000 rw-s 00000000 00:04 0          /SYSV3c0a0239 (deleted)
    77180000-77184000 rw-p 00000000 00:00 0
    77184000-77188000 rw-p 00004000 1f:01 348        /lib/ld-uClibc-0.9.33.so
    7ff40000-7ff64000 rwxp 00000000 00:00 0          [stack]
    7fff4000-7fff8000 r-xp 00000000 00:00 0          [vdso]
    
    / # cat /proc/4870/statm
    1309 345 172 3 0 1088 0
    
    / # cat /proc/4870/smaps
    00400000-0040c000 r-xp 00000000 1f:01 76         /bin/sthelper
    Size:                 48 kB
    Rss:                  48 kB
    Pss:                  48 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:        48 kB
    Private_Dirty:         0 kB
    Referenced:           48 kB
    Anonymous:             0 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: rd ex mr mw me dw
    00418000-0041c000 rw-p 00008000 1f:01 76         /bin/sthelper
    Size:                 16 kB
    Rss:                  16 kB
    Pss:                  16 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:        16 kB
    Referenced:           16 kB
    Anonymous:            16 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: rd wr mr mw me dw ac
    0041c000-0066c000 rwxp 00000000 00:00 0          [heap]
    Size:               2368 kB
    Rss:                2272 kB
    Pss:                2272 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:      2272 kB
    Referenced:         2272 kB
    Anonymous:          2272 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: rd wr ex mr mw me ac
    75fa0000-75fa4000 ---p 00000000 00:00 0
    Size:                 16 kB
    Rss:                   0 kB
    Pss:                   0 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:         0 kB
    Referenced:            0 kB
    Anonymous:             0 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: mr mw me ac
    75fa4000-761a0000 rw-p 00000000 00:00 0          [stack:4892]
    Size:               2032 kB
    Rss:                  16 kB
    Pss:                  16 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:        16 kB
    Referenced:           16 kB
    Anonymous:            16 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: rd wr mr mw me ac
    761a0000-761a4000 ---p 00000000 00:00 0
    Size:                 16 kB
    Rss:                   0 kB
    Pss:                   0 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:         0 kB
    Referenced:            0 kB
    Anonymous:             0 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: mr mw me ac
    761a4000-763a0000 rw-p 00000000 00:00 0          [stack:4891]
    Size:               2032 kB
    Rss:                  16 kB
    Pss:                  16 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:        16 kB
    Referenced:           16 kB
    Anonymous:            16 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: rd wr mr mw me ac
    763a0000-763a4000 ---p 00000000 00:00 0
    Size:                 16 kB
    Rss:                   0 kB
    Pss:                   0 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:         0 kB
    Referenced:            0 kB
    Anonymous:             0 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: mr mw me ac
    763a4000-765a0000 rw-p 00000000 00:00 0          [stack:4890]
    Size:               2032 kB
    Rss:                  16 kB
    Pss:                  16 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:        16 kB
    Referenced:           16 kB
    Anonymous:            16 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: rd wr mr mw me ac
    765a0000-765a4000 ---p 00000000 00:00 0
    Size:                 16 kB
    Rss:                   0 kB
    Pss:                   0 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:         0 kB
    Referenced:            0 kB
    Anonymous:             0 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: mr mw me ac
    765a4000-767a0000 rw-p 00000000 00:00 0          [stack:4889]
    Size:               2032 kB
    Rss:                  16 kB
    Pss:                  16 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:        16 kB
    Referenced:           16 kB
    Anonymous:            16 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: rd wr mr mw me ac
    767a0000-767a4000 ---p 00000000 00:00 0
    Size:                 16 kB
    Rss:                   0 kB
    Pss:                   0 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:         0 kB
    Referenced:            0 kB
    Anonymous:             0 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: mr mw me ac
    767a4000-769a0000 rw-p 00000000 00:00 0          [stack:4888]
    Size:               2032 kB
    Rss:                  16 kB
    Pss:                  16 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:        16 kB
    Referenced:           16 kB
    Anonymous:            16 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: rd wr mr mw me ac
    769a0000-769a4000 ---p 00000000 00:00 0
    Size:                 16 kB
    Rss:                   0 kB
    Pss:                   0 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:         0 kB
    Referenced:            0 kB
    Anonymous:             0 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: mr mw me ac
    769a4000-76ba0000 rw-p 00000000 00:00 0          [stack:4885]
    Size:               2032 kB
    Rss:                  16 kB
    Pss:                  16 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:        16 kB
    Referenced:           16 kB
    Anonymous:            16 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: rd wr mr mw me ac
    76ba0000-76ba4000 ---p 00000000 00:00 0
    Size:                 16 kB
    Rss:                   0 kB
    Pss:                   0 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:         0 kB
    Referenced:            0 kB
    Anonymous:             0 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: mr mw me ac
    76ba4000-76da0000 rw-p 00000000 00:00 0          [stack:4879]
    Size:               2032 kB
    Rss:                  16 kB
    Pss:                  16 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:        16 kB
    Referenced:           16 kB
    Anonymous:            16 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: rd wr mr mw me ac
    76da0000-76dac000 rw-s 00000000 00:04 98307      /SYSV3e0a0239 (deleted)
    Size:                 48 kB
    Rss:                  16 kB
    Pss:                   8 kB
    Shared_Clean:          0 kB
    Shared_Dirty:         16 kB
    Private_Clean:         0 kB
    Private_Dirty:         0 kB
    Referenced:           16 kB
    Anonymous:             0 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: rd wr sh mr mw me ms
    76dac000-76db8000 rw-s 00000000 00:04 65538      /SYSV3d0a0239 (deleted)
    Size:                 48 kB
    Rss:                   0 kB
    Pss:                   0 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:         0 kB
    Referenced:            0 kB
    Anonymous:             0 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: rd wr sh mr mw me ms
    76db8000-76dbc000 r-xp 00000000 1f:01 344        /lib/libdl-0.9.33.so
    Size:                 16 kB
    Rss:                  16 kB
    Pss:                  16 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:        16 kB
    Private_Dirty:         0 kB
    Referenced:           16 kB
    Anonymous:             0 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: rd ex mr mw me
    76dbc000-76dc8000 ---p 00000000 00:00 0
    Size:                 48 kB
    Rss:                   0 kB
    Pss:                   0 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:         0 kB
    Referenced:            0 kB
    Anonymous:             0 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: mr mw me
    76dc8000-76dcc000 rw-p 00000000 1f:01 344        /lib/libdl-0.9.33.so
    Size:                 16 kB
    Rss:                  16 kB
    Pss:                  16 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:        16 kB
    Referenced:           16 kB
    Anonymous:            16 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: rd wr mr mw me ac
    76dcc000-76e24000 r-xp 00000000 1f:01 375        /lib/libssl.so.1.0.0
    Size:                352 kB
    Rss:                 304 kB
    Pss:                 304 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:       304 kB
    Private_Dirty:         0 kB
    Referenced:          304 kB
    Anonymous:             0 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: rd ex mr mw me
    76e24000-76e30000 ---p 00000000 00:00 0
    Size:                 48 kB
    Rss:                   0 kB
    Pss:                   0 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:         0 kB
    Referenced:            0 kB
    Anonymous:             0 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: mr mw me
    76e30000-76e38000 rw-p 00054000 1f:01 375        /lib/libssl.so.1.0.0
    Size:                 32 kB
    Rss:                  32 kB
    Pss:                  32 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:        32 kB
    Referenced:           32 kB
    Anonymous:            32 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: rd wr mr mw me ac
    76e38000-76e88000 r-xp 00000000 1f:01 369        /lib/libuClibc-0.9.33.so
    Size:                320 kB
    Rss:                 304 kB
    Pss:                  22 kB
    Shared_Clean:        304 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:         0 kB
    Referenced:          304 kB
    Anonymous:             0 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: rd ex mr mw me
    76e88000-76e94000 ---p 00000000 00:00 0
    Size:                 48 kB
    Rss:                   0 kB
    Pss:                   0 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:         0 kB
    Referenced:            0 kB
    Anonymous:             0 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: mr mw me
    76e94000-76e98000 rw-p 0004c000 1f:01 369        /lib/libuClibc-0.9.33.so
    Size:                 16 kB
    Rss:                  16 kB
    Pss:                  16 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:        16 kB
    Referenced:           16 kB
    Anonymous:            16 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: rd wr mr mw me ac
    76e98000-76e9c000 rw-p 00000000 00:00 0
    Size:                 16 kB
    Rss:                  16 kB
    Pss:                  16 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:        16 kB
    Referenced:           16 kB
    Anonymous:            16 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: rd wr mr mw me ac
    76e9c000-77014000 r-xp 00000000 1f:01 358        /lib/libcrypto.so.1.0.0
    Size:               1504 kB
    Rss:                1280 kB
    Pss:                1280 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:      1280 kB
    Private_Dirty:         0 kB
    Referenced:         1280 kB
    Anonymous:             0 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: rd ex mr mw me
    77014000-77020000 ---p 00000000 00:00 0
    Size:                 48 kB
    Rss:                   0 kB
    Pss:                   0 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:         0 kB
    Referenced:            0 kB
    Anonymous:             0 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: mr mw me
    77020000-77038000 rw-p 00174000 1f:01 358        /lib/libcrypto.so.1.0.0
    Size:                 96 kB
    Rss:                  96 kB
    Pss:                  96 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:        96 kB
    Referenced:           96 kB
    Anonymous:            96 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: rd wr mr mw me ac
    77038000-7703c000 rw-p 00000000 00:00 0
    Size:                 16 kB
    Rss:                  16 kB
    Pss:                  16 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:        16 kB
    Referenced:           16 kB
    Anonymous:            16 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: rd wr mr mw me ac
    7703c000-77050000 r-xp 00000000 1f:01 361        /lib/libpthread-0.9.33.so
    Size:                 80 kB
    Rss:                  80 kB
    Pss:                  80 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:        80 kB
    Private_Dirty:         0 kB
    Referenced:           80 kB
    Anonymous:             0 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: rd ex mr mw me
    77050000-7705c000 ---p 00000000 00:00 0
    Size:                 48 kB
    Rss:                   0 kB
    Pss:                   0 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:         0 kB
    Referenced:            0 kB
    Anonymous:             0 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: mr mw me
    7705c000-77060000 rw-p 00010000 1f:01 361        /lib/libpthread-0.9.33.so
    Size:                 16 kB
    Rss:                  16 kB
    Pss:                  16 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:        16 kB
    Referenced:           16 kB
    Anonymous:            16 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: rd wr mr mw me ac
    77060000-77064000 rw-p 00000000 00:00 0
    Size:                 16 kB
    Rss:                   0 kB
    Pss:                   0 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:         0 kB
    Referenced:            0 kB
    Anonymous:             0 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: rd wr mr mw me ac
    77064000-77080000 r-xp 00000000 1f:01 347        /lib/libjson-c.so.5.1.0
    Size:                112 kB
    Rss:                 112 kB
    Pss:                 112 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:       112 kB
    Private_Dirty:         0 kB
    Referenced:          112 kB
    Anonymous:             0 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: rd ex mr mw me
    77080000-7708c000 ---p 00000000 00:00 0
    Size:                 48 kB
    Rss:                   0 kB
    Pss:                   0 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:         0 kB
    Referenced:            0 kB
    Anonymous:             0 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: mr mw me
    7708c000-77090000 rw-p 00018000 1f:01 347        /lib/libjson-c.so.5.1.0
    Size:                 16 kB
    Rss:                  16 kB
    Pss:                  16 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:        16 kB
    Referenced:           16 kB
    Anonymous:            16 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: rd wr mr mw me ac
    77090000-770a8000 r-xp 00000000 1f:01 368        /lib/libm-0.9.33.so
    Size:                 96 kB
    Rss:                  16 kB
    Pss:                   4 kB
    Shared_Clean:         16 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:         0 kB
    Referenced:           16 kB
    Anonymous:             0 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: rd ex mr mw me
    770a8000-770b4000 ---p 00000000 00:00 0
    Size:                 48 kB
    Rss:                   0 kB
    Pss:                   0 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:         0 kB
    Referenced:            0 kB
    Anonymous:             0 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: mr mw me
    770b4000-770b8000 rw-p 00014000 1f:01 368        /lib/libm-0.9.33.so
    Size:                 16 kB
    Rss:                  16 kB
    Pss:                  16 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:        16 kB
    Referenced:           16 kB
    Anonymous:            16 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: rd wr mr mw me ac
    770b8000-77130000 r-xp 00000000 1f:01 355        /lib/libcurl.so.4.7.0
    Size:                480 kB
    Rss:                 464 kB
    Pss:                 464 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:       464 kB
    Private_Dirty:         0 kB
    Referenced:          464 kB
    Anonymous:             0 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: rd ex mr mw me
    77130000-77140000 ---p 00000000 00:00 0
    Size:                 64 kB
    Rss:                   0 kB
    Pss:                   0 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:         0 kB
    Referenced:            0 kB
    Anonymous:             0 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: mr mw me
    77140000-77144000 rw-p 00078000 1f:01 355        /lib/libcurl.so.4.7.0
    Size:                 16 kB
    Rss:                  16 kB
    Pss:                  16 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:        16 kB
    Referenced:           16 kB
    Anonymous:            16 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: rd wr mr mw me ac
    77144000-77150000 r-xp 00000000 1f:01 353        /lib/libapmib.so
    Size:                 48 kB
    Rss:                  48 kB
    Pss:                  15 kB
    Shared_Clean:         48 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:         0 kB
    Referenced:           48 kB
    Anonymous:             0 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: rd ex mr mw me
    77150000-7715c000 ---p 00000000 00:00 0
    Size:                 48 kB
    Rss:                   0 kB
    Pss:                   0 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:         0 kB
    Referenced:            0 kB
    Anonymous:             0 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: mr mw me
    7715c000-7716c000 rw-p 00008000 1f:01 353        /lib/libapmib.so
    Size:                 64 kB
    Rss:                  64 kB
    Pss:                  53 kB
    Shared_Clean:         16 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:        48 kB
    Referenced:           64 kB
    Anonymous:            48 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: rd wr mr mw me ac
    7716c000-77170000 rw-p 00000000 00:00 0
    Size:                 16 kB
    Rss:                  16 kB
    Pss:                  16 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:        16 kB
    Referenced:           16 kB
    Anonymous:            16 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: rd wr mr mw me ac
    77170000-77178000 r-xp 00000000 1f:01 348        /lib/ld-uClibc-0.9.33.so
    Size:                 32 kB
    Rss:                  32 kB
    Pss:                   1 kB
    Shared_Clean:         32 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:         0 kB
    Referenced:           32 kB
    Anonymous:             0 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: rd ex mr mw me dw
    77178000-7717c000 rw-s 00000000 00:04 32769      /SYSV410a0239 (deleted)
    Size:                 16 kB
    Rss:                   0 kB
    Pss:                   0 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:         0 kB
    Referenced:            0 kB
    Anonymous:             0 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: rd wr sh mr mw me ms
    7717c000-77180000 rw-s 00000000 00:04 0          /SYSV3c0a0239 (deleted)
    Size:                 16 kB
    Rss:                  16 kB
    Pss:                  16 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:        16 kB
    Referenced:           16 kB
    Anonymous:             0 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: rd wr sh mr mw me ms
    77180000-77184000 rw-p 00000000 00:00 0
    Size:                 16 kB
    Rss:                  16 kB
    Pss:                  16 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:        16 kB
    Referenced:           16 kB
    Anonymous:            16 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: rd wr mr mw me ac
    77184000-77188000 rw-p 00004000 1f:01 348        /lib/ld-uClibc-0.9.33.so
    Size:                 16 kB
    Rss:                  16 kB
    Pss:                  16 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:        16 kB
    Referenced:           16 kB
    Anonymous:            16 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: rd wr mr mw me dw ac
    7ff40000-7ff64000 rwxp 00000000 00:00 0          [stack]
    Size:                160 kB
    Rss:                  16 kB
    Pss:                  16 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:        16 kB
    Referenced:           16 kB
    Anonymous:            16 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: rd wr ex mr mw me gd ac
    7fff4000-7fff8000 r-xp 00000000 00:00 0          [vdso]
    Size:                 16 kB
    Rss:                   0 kB
    Pss:                   0 kB
    Shared_Clean:          0 kB
    Shared_Dirty:          0 kB
    Private_Clean:         0 kB
    Private_Dirty:         0 kB
    Referenced:            0 kB
    Anonymous:             0 kB
    AnonHugePages:         0 kB
    Swap:                  0 kB
    KernelPageSize:       16 kB
    MMUPageSize:          16 kB
    Locked:                0 kB
    VmFlags: rd ex mr mw me de
    
    Nemá někdo zkušenost s libcurl, jestli má můj problém nějaké řešení? Libcurl používám poslední verzi, openssl je 1.0.2d.

    V pár fórech jsem našel podobné problémy, kdy si lidi stěžovali, že se paměť po curl_easy_cleanup ve vlákně neuvolní. Prý to tak je, a uvolňuje se až po curl_global_cleanup, nicméně ten lze volat pouze 1x při ukončování aplikace.

    Také do dělám tak, že můj thread je vlastně nekonečná smyčka (reagující jen na ukončovací signál) se sleepem v řádu minut. Thread se vždy probudí, udělá akci přes curl a zase uspí. Vždy v této iteraci volám curl_easy_init a na konci curl_easy_cleanup. Není to tedy tak, že bych curl_easy_init volal jen 1x před smyčkou thredu a při ukončování vlákna pak curl_easy_cleanup. Tuto variantu jsem myslím zkoušel, ale nepřišlo mi, že by se paměťová náročnost lišila.

    Ještě podotknu, že thready se vykonávají třeba po minutě a paměťová náročnost aplikace je i po mnoha hodinách cca stejná, jako na začátku. Takže ta výsledná náročnost podle mého nesouvisí s memory leeks apod.

    Budu rád, pokud někoho něco napadne. Děkuji.

    V tomto formuláři můžete formulovat svou stížnost ohledně příspěvku. Nejprve vyberte typ akce, kterou navrhujete provést s diskusí či příspěvkem. Potom do textového pole napište důvody, proč by měli admini provést vaši žádost, problém nemusí být patrný na první pohled. Odkaz na příspěvek bude přidán automaticky.

    Vaše jméno
    Váš email
    Typ požadavku
    Slovní popis
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.