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

    Na stránkách Evropské komise, na portálu Podělte se o svůj názor, se lze do 3. února podělit o názor k iniciativě Evropské otevřené digitální ekosystémy řešící přístup EU k otevřenému softwaru.

    Ladislav Hagara | Komentářů: 4
    včera 19:44 | Zajímavý software

    Společnost Kagi stojící za stejnojmenným placeným vyhledávačem vydala (𝕏) alfa verzi linuxové verze (flatpak) svého proprietárního webového prohlížeče Orion.

    Ladislav Hagara | Komentářů: 4
    včera 19:11 | IT novinky

    Firma Bose se po tlaku uživatelů rozhodla, že otevře API svých chytrých reproduktorů SoundTouch, což umožní pokračovat v jejich používání i po plánovaném ukončení podpory v letošním roce. Pro ovládání také bude stále možné využívat oficiální aplikaci, ale už pouze lokálně bez cloudových služeb. Dokumentace API dostupná zde (soubor PDF).

    NUKE GAZA! 🎆 | Komentářů: 0
    včera 14:22 | Zajímavý článek

    Jiří Eischmann se v příspěvku na svém blogu rozepsal o open source AdGuard Home jako domácí ochraně nejen před reklamou. Adguard Home není plnohodnotným DNS resolverem, funguje jako DNS forwarder s možností filtrování. To znamená, že když přijme DNS dotaz, sám na něj neodpoví, ale přepošle ho na vybraný DNS server a odpovědi zpracovává a filtruje dle nastavených pravidel a následně posílá zpět klientům. Dá se tedy používat k blokování reklamy a škodlivých stránek a k rodičovské kontrole na úrovni DNS.

    Ladislav Hagara | Komentářů: 6
    včera 03:33 | Zajímavý software

    AI Claude Code od Anthropicu lépe rozumí frameworku Nette, tj. open source frameworku pro tvorbu webových aplikací v PHP. David Grudl napsal plugin Nette pro Claude Code.

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

    Byla vydána prosincová aktualizace aneb nová verze 1.108 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.108 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    8.1. 20:44 | IT novinky

    Na lasvegaském veletrhu elektroniky CES byl předveden prototyp notebooku chlazeného pomocí plazmových aktuátorů (DBD). Ačkoliv se nejedná o první nápad svého druhu, nepochybně to je první ukázka praktického použití tohoto způsobu chlazení v běžné elektronice. Co činí plazmové chladící akční členy technologickou výzvou je především vysoká produkce jedovatého ozonu, tu se prý podařilo firmě YPlasma zredukovat dielektrickou

    … více »
    NUKE GAZA! 🎆 | Komentářů: 12
    8.1. 16:33 | Zajímavý projekt

    Patchouli je open source implementace EMR grafického tabletu (polohovací zařízení). Projekt je hostován na GitLabu.

    Ladislav Hagara | Komentářů: 0
    8.1. 14:11 | IT novinky

    Český Nejvyšší soud potvrdil, že česká právní úprava plošného uchování dat o elektronické komunikaci porušuje právo Evropské unie. Pravomocným rozsudkem zamítl dovolání ministerstva průmyslu a obchodu. To se teď musí omluvit novináři Českého rozhlasu Janu Cibulkovi za zásah do práv na ochranu soukromí a osobních údajů. Ve sporu jde o povinnost provozovatelů sítí uchovávat údaje, ze kterých lze odvodit, kdo, s kým a odkud komunikoval.

    Ladislav Hagara | Komentářů: 18
    8.1. 02:11 | Komunita

    Google bude vydávat zdrojové kódy Androidu pouze dvakrát ročně. Ve 2. a 4. čtvrtletí.

    Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (6%)
     (5%)
     (0%)
     (10%)
     (20%)
     (4%)
     (5%)
     (3%)
     (10%)
     (51%)
    Celkem 343 hlasů
     Komentářů: 7, poslední 8.1. 15:35
    Rozcestník

    Dotaz: Centos 7 - Cannot allocate memory (zase...)

    vandrovnik avatar 23.2.2017 13:32 vandrovnik | skóre: 21
    Centos 7 - Cannot allocate memory (zase...)
    Přečteno: 941×
    Dobrý den,

    na produkčním serveru s 64 GB RAM se nám zase v logu objevuje "Cannot allocate memory". Postiženy jsou různé procesy nahodile, první byl ClamAV, ale týká se to všech.

    Paměti by mělo být dost:
    # free
                  total        used        free      shared  buff/cache   available
    Mem:       65862960    10710596     8131608     2213480    47020756    52227244
    
    Nejsou ale nejspíš volné žádné velké (4096 kB) bloky paměti:
    # cat /proc/buddyinfo
    Node 0, zone      DMA      0      0      1      0      2      1      1      0      1      1      3
    Node 0, zone    DMA32     80     50     18      4     47     20     41     13     31      2     47
    Node 0, zone   Normal    250    562    300   4756   6768   5074   2872   2119   1077   1803      0
    
    Může to být příčinou problému?

    Popř. nesetkal jste se s tím někdo a nenašel řešení? Večer zkusím restart, zkusím ještě vypnout KSM, ale bohužel netuším, co může být špatně.

    Díky,

    Karel

    Řešení dotazu:


    Odpovědi

    23.2.2017 14:48 marsur | skóre: 6
    Rozbalit Rozbalit vše Re: Centos 7 - Cannot allocate memory (zase...)
    a ako sa tvori vytazovanie procesov v zavislosti na hw? (nejaky top, htop)?
    23.2.2017 15:10 drunkezz | skóre: 34 | blog: kadeco
    Rozbalit Rozbalit vše Re: Centos 7 - Cannot allocate memory (zase...)

    ulimits/hugepages?

    D.

    vandrovnik avatar 23.2.2017 15:54 vandrovnik | skóre: 21
    Rozbalit Rozbalit vše Re: Centos 7 - Cannot allocate memory (zase...)
    # ulimit -a
    core file size          (blocks, -c) 0
    data seg size           (kbytes, -d) unlimited
    scheduling priority             (-e) 0
    file size               (blocks, -f) unlimited
    pending signals                 (-i) 257192
    max locked memory       (kbytes, -l) 64
    max memory size         (kbytes, -m) unlimited
    open files                      (-n) 1024
    pipe size            (512 bytes, -p) 8
    POSIX message queues     (bytes, -q) 819200
    real-time priority              (-r) 0
    stack size              (kbytes, -s) 8192
    cpu time               (seconds, -t) unlimited
    max user processes              (-u) 257192
    virtual memory          (kbytes, -v) unlimited
    file locks                      (-x) unlimited
    
    vm]# cat nr_hugepages
    0
    
    vandrovnik avatar 23.2.2017 16:36 vandrovnik | skóre: 21
    Rozbalit Rozbalit vše Re: Centos 7 - Cannot allocate memory (zase...)
    I když, asi se do toho pletou Transparent Huge Pages:
    # grep Huge /proc/meminfo
    AnonHugePages:   7374848 kB
    HugePages_Total:       0
    HugePages_Free:        0
    HugePages_Rsvd:        0
    HugePages_Surp:        0
    Hugepagesize:       2048 kB
    
    
    24.2.2017 11:48 marsur | skóre: 6
    Rozbalit Rozbalit vše Re: Centos 7 - Cannot allocate memory (zase...)
    dakujem :) chcel som napisat tvari a vznikol z toho taky srandovny preklep. :) kazdopadne dakujem, aspon viem nieco dalsie :)
    vandrovnik avatar 23.2.2017 15:57 vandrovnik | skóre: 21
    Rozbalit Rozbalit vše Re: Centos 7 - Cannot allocate memory (zase...)
    Běží tam nyní 6 virtuálních PC, ty nějaký výkon berou, ale většinou je 85-87 % iddle. Virtuálů je normálně 7, jeden jsem ukončil, tím jsem získal +- 230 volných těch největších paměťových bloků. Předtím např. freshclam psal, že nemá dostatek paměti, po ukončení virtuálu freshclam proběhne.
    top - 15:54:11 up 5 days, 22:13,  1 user,  load average: 1.48, 1.28, 1.24
    Tasks: 296 total,   1 running, 295 sleeping,   0 stopped,   0 zombie
    %Cpu(s):  8.6 us,  4.4 sy,  0.0 ni, 86.5 id,  0.5 wa,  0.0 hi,  0.0 si,  0.0 st
    KiB Mem : 65862960 total, 50442508 free,  9600916 used,  5819536 buff/cache
    KiB Swap:  8388604 total,  8388604 free,        0 used. 53237312 avail Mem
    
    23.2.2017 17:26 xen
    Rozbalit Rozbalit vše Re: Centos 7 - Cannot allocate memory (zase...)
    Xen?
    vandrovnik avatar 23.2.2017 18:35 vandrovnik | skóre: 21
    Rozbalit Rozbalit vše Re: Centos 7 - Cannot allocate memory (zase...)
    Používáme kvm
    Josef Kufner avatar 23.2.2017 17:31 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Centos 7 - Cannot allocate memory (zase...)
    Kolik má každý z virtuálů přiděleno paměti? Je to dohromady méně, než je v systému fyzické paměti?
    Hello world ! Segmentation fault (core dumped)
    vandrovnik avatar 23.2.2017 18:36 vandrovnik | skóre: 21
    Rozbalit Rozbalit vše Re: Centos 7 - Cannot allocate memory (zase...)
    Každý má přidělen 1 GB, tj. celkem 7 GB (plus nějaká režie okolo), ale server má 64 GB RAM, takže by to neměl skoro poznat.
    23.2.2017 21:42 ram
    Rozbalit Rozbalit vše Re: Centos 7 - Cannot allocate memory (zase...)
    Tedy já mám 32 GB RAM a čas od času se stane, že jde systém do swapu (který mám). :-)

    Možná by stálo za to si vyrobit nějaký odládací prostor - vytvořit soubor, naformátovat a připojit ho jako swap a zkusit, jak se to bude chovat.

    Teď máš podle výpisu volných cca 8 GB, pustíš firefox s pár taby a je to pryč.

    Sám nastavuji /proc/sys/vm/vfs_cache_pressure na vysoké hodnoty právě kvůli vracení cache stránek.

    24.2.2017 10:05 mishkooo1 | skóre: 10
    Rozbalit Rozbalit vše Re: Centos 7 - Cannot allocate memory (zase...)

    Tebe by pomohlo zadat si do sysctl.conf pre perzistente nastavenie:

    vm.swappiness = 10

    a pre runtime zmenu (nemusis restartovat):

    sysctl vm.swappiness=10

    vandrovnik avatar 24.2.2017 22:38 vandrovnik | skóre: 21
    Rozbalit Rozbalit vše Re: Centos 7 - Cannot allocate memory (zase...)
    Na vfs_cache_pressure (aktuálně 100) se podívám, díky; nenapadlo mě, že by linux tu cache neuvolnil sám od sebe a místo toho by aplikaci odmítl s tím, že nemá volnou paměť.

    Jinak swap tam mám taky - 8 GB, využito 0 (vm.swapiness mám 5).
    24.2.2017 23:45 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Centos 7 - Cannot allocate memory (zase...)
    Spíš než takhle střílet naslepo byste se měl zaměřit na to, kdo přesně tu hlášku vypsal a proč - ono by to klidně nemuselo znamenat, že selhala alokace paměti v aplikaci, ale třeba jen nějaký syscall vrátil ENOMEM.
    vandrovnik avatar 25.2.2017 00:44 vandrovnik | skóre: 21
    Rozbalit Rozbalit vše Re: Centos 7 - Cannot allocate memory (zase...)
    Bohužel ale nevím, jak se tomu víc přiblížit - hláška o tom, že se nepodařilo alokovat paměť, byla teď k vidění u ClamAV. Vypsal ji yum. Minule mariadb, httpd, firebird... Když jsem ukončil jeden z virtuálů a chtěl ho pak znovu spustit, také už to nešlo shláškou ohledně nedostatku paměti. Nicméně celou tu dobu se zobrazovalo free +- 53 GB.
    vandrovnik avatar 25.2.2017 00:46 vandrovnik | skóre: 21
    Rozbalit Rozbalit vše Re: Centos 7 - Cannot allocate memory (zase...)
    Těch 53 GB bylo v top jako "avail", nikoliv "free".
    25.2.2017 07:24 Peter Golis | skóre: 65 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Centos 7 - Cannot allocate memory (zase...)
    Keď som ešte bol mladý a moja výplatná páska mi bola doručovaná na papieri, tak bežne používané OS mali možnosť defragmentovať RAM. Či už s pomocou natívnych nástrojov, alebo nástrojov tretej strany. Neviem čo sa porobilo že to niekto nezautomatizoval. Asi zlacnela RAM až na takú úroveň, že bežného smrteľníka nezruinuje keď si nakúpi všetku RAM čo dokáže napchať do počítača. Síce to nevyrieši problém, ale ho aspoň oddiali.

    Niektoré zlé jazyky tvrdia že toto nefunguje:
    sysctl vm.compact_memory=1  
    
    a zhodí to počítač. Akurát nezaručujem že to funguje aj na virtuálky čo majú alokovanú pamäť s kadejakými nezmyselnými príznakmi.
    25.2.2017 09:24 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Centos 7 - Cannot allocate memory (zase...)
    Neviem čo sa porobilo že to niekto nezautomatizoval.

    Pokud se ptáte na to, proč se memory compaction neprovádí i když není potřeba (ani není explicitně vynucena uživatelem), odpověď je, že je to dost náročné na výkon, takže není žádoucí, aby se něco takového spouštělo samo od sebe a náhodně spotřebovávalo CPU.

    25.2.2017 09:52 Peter Golis | skóre: 65 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Centos 7 - Cannot allocate memory (zase...)
    Nie, nepýtal som sa prečo sa to nerobí, aj keď to nie je treba. Pýtal som sa prečo to niekto nezautomatizoval.

    Sú situácie kedy by sa to malo zapnúť. Napríklad keď si proces vyžiada súvislý blok pamäte, ale nedostane ho aj napriek tomu že má systém dosť voľnej pamäte.
    25.2.2017 11:36 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Centos 7 - Cannot allocate memory (zase...)
    Napríklad keď si proces vyžiada súvislý blok pamäte, ale nedostane ho aj napriek tomu že má systém dosť voľnej pamäte.

    Přesně tak to ale už nějaký pátek funguje.

    25.2.2017 11:45 Peter Golis | skóre: 65 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Centos 7 - Cannot allocate memory (zase...)
    Takže to funguje, a zabraňuje vzniku situácie kvôli ktorej nastala táto otázka.
    25.2.2017 11:51 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Centos 7 - Cannot allocate memory (zase...)
    My především, jaká situace konkrétně nastala, takže nemá smysl spekulovat, jestli to souvisí s memory compaction (na což jsem upozorňoval už včera).
    25.2.2017 11:52 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Centos 7 - Cannot allocate memory (zase...)
    My především nevíme, jaká…
    25.2.2017 14:08 Peter Golis | skóre: 65 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Centos 7 - Cannot allocate memory (zase...)
    To je pravda. Akosi zabudol povedať ako to má nakonfigurované, opísal len výsledné príznaky.
    vandrovnik avatar 26.2.2017 00:14 vandrovnik | skóre: 21
    Rozbalit Rozbalit vše Re: Centos 7 - Cannot allocate memory (zase...)
    Jestli pomůže nějaký kus konfigurace, rád ho dodám, ale v zásadě jsem nic moc neměnil od výchozího stavu Centos 7.

    V sysctl.conf mám:
    vm.dirty_writeback_centisecs = 2000
    vm.dirty_expire_centisecs = 4500
    vm.swappiness = 5
    vm.dirty_bytes = 33554432
    vm.dirty_background_bytes = 67108864
    vm.overcommit_memory=2
    vm.overcommit_ratio = 10
    kernel.panic = 30
    kernel.panic_on_oops = 1
    kernel.printk = 3 4 1 3
    
    overcommit tam je nejspíš zbytečně, používali jsme jej na starším serveru, který měl jen 8 GB RAM.
    26.2.2017 01:13 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Centos 7 - Cannot allocate memory (zase...)
    Spíš by bylo dobré vědět, jestli je o té selhané alokaci něco v logu jádra, protože tam bývají dost podrobné informace, ze kterých si lze udělat obrázek, co se vlastně přesně stalo.
    26.2.2017 07:58 Peter Golis | skóre: 65 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Centos 7 - Cannot allocate memory (zase...)
    To je nastavenie jadra. Ale čo aplikácie, ak majú nastavené pam.požiadavky? Napr. neodswapovať, alokovať veľa minimálnych blokov na systéme kde sa používajú hugepages. A nebolo by odveci nehať si jadro vypisovať debug informácie o alokovaní.
    26.2.2017 21:38 overcommit
    Rozbalit Rozbalit vše Re: Centos 7 - Cannot allocate memory (zase...)
    No vida, už se dostáváme dál.
    
    Swap: 8 GB
    RAM: 64 GB
    vm.overcommit_memory=2 (default = 0)
    vm.overcommit_ratio = 10 (default = 50)
    vm.dirty_bytes = 33554432 (default = 0)
    vm.dirty_background_bytes = 67108864 (default = 0)
    
    Memory Allocation Limit = Swap Space + RAM * (Overcommit Ratio / 100)
    Memory Allocation Limit = 8 + 64 * (10/100)
    Memory Allocation Limit = 14,4 GB
    
    vandrovnik avatar 27.2.2017 10:49 vandrovnik | skóre: 21
    Rozbalit Rozbalit vše Re: Centos 7 - Cannot allocate memory (zase...)
    Moc díky, to je téměř určitě ono - nastavení bylo převzato ze staršího serveru, ten měl 8 GB RAM + 8 GB swap, tak to problém nedělalo, ale tady je to evidentně nesmyslné. Já si to bohužel neuvědomil, "overcommit" jsem vzal jako "procenta nad", což je evidentně špatně. Ze sysctl.conf jsem to vyhodil, v /proc/sys/vm/... jsem vrátil výchozí hodnoty a hádám, že už problémy nebudou.

    Ještě jednou děkuju!
    25.2.2017 11:39 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Centos 7 - Cannot allocate memory (zase...)
    Jen bych dodal, že těch situací, kdy je opravdu potřeba fyzicky souvislá paměť, není tak moc, jak by se zdálo - a v userspace je jich ještě méně.
    25.2.2017 11:47 Peter Golis | skóre: 65 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Centos 7 - Cannot allocate memory (zase...)
    Napríklad sa jedná o alokáciu pamäte pre virtuálny stroj ktorý si zapne užívateľ. A to je predmetom pôvodnej otázky.
    vandrovnik avatar 26.2.2017 00:29 vandrovnik | skóre: 21
    Rozbalit Rozbalit vše Re: Centos 7 - Cannot allocate memory (zase...)
    Původní problém ale byl, že si na nemožnost alokovat paměť stěžoval ClamAV, popř. pak freshclam, když jsem ho chtěl ručně spustit (ten myslím chtěl něco málo přes 8 MB).

    Minule, když se problém vyskytnul, si stěžoval httpd, a ten chtěl přitom bloky třeba 40 kB.
    26.2.2017 07:50 Peter Golis | skóre: 65 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Centos 7 - Cannot allocate memory (zase...)
    Niesom si istý, či v prípade hugepages existuje blok o veľkosti napríklad 40kB.
    26.2.2017 09:43 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Centos 7 - Cannot allocate memory (zase...)

    1. To neexistuje ani bez nich, alokace od jádra stejně nebudou mít menší granularitu než je velikost stránky.

    2. To, že se používají huge pages, neznamená, že celý systém pracuje jen s nimi a nelze získat nic menšího.

    26.2.2017 13:19 Peter Golis | skóre: 65 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Centos 7 - Cannot allocate memory (zase...)
    Menšie bloky ako je prirodzená veľkosť na danej architektúre získaš. Na to ale by tie bloky zaberali menej ako je tá veľkosť stránky potrebuješ tie stránky reorganizovať. A to stojí výkon ako pri defragmentovaní pamäte.
    26.2.2017 18:51 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Centos 7 - Cannot allocate memory (zase...)
    Těch 40 KB samozřejmě problém není, to jsem se jen přehlédl. Ale alokace od jádra budou mít vždycky granularitu danou velikostí stránky. Bloky menší než stránka jádro userspace procesu přidělovat nebude, to si musí userspace vyřešit ve vlastní režii (typicky na úrovni libc).

    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.