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

    Byla vydána nová stabilní verze 24.05 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Uakari. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.

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

    Byla vydána nová verze 1.48.0 sady nástrojů pro správu síťových připojení NetworkManager. Novinkám se v příspěvku na blogu NetworkManageru věnuje Fernando F. Mancera. Mimo jiné se v nastavení místo mac-address-blacklist nově používá mac-address-denylist.

    Ladislav Hagara | Komentářů: 5
    včera 17:11 | Komunita

    Před 25 lety, 31. května 1999, započal vývoj grafického editoru Krita (Wikipedie). Tenkrát ještě pod názvem KImageShop a později pod názvem Krayon.

    Ladislav Hagara | Komentářů: 2
    včera 12:55 | Nová verze

    Farid Abdelnour se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 24.05.0 editoru videa Kdenlive (Wikipedie). Ke stažení brzy také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 11:22 | Zajímavý článek

    David Revoy, autor mj. komiksu Pepper&Carrot, se rozepsal o své aktuální grafické pracovní stanici: Debian 12 Bookworm, okenní systém X11, KDE Plasma 5.27, …

    Ladislav Hagara | Komentářů: 5
    30.5. 22:44 | Nová verze

    Wayland (Wikipedie) byl vydán ve verzi 1.23.0. Z novinek lze vypíchnout podporu OpenBSD.

    Ladislav Hagara | Komentářů: 0
    30.5. 21:22 | Zajímavý článek

    Craig Loewen na blogu Microsoftu představil novinky ve Windows Subsystému pro Linux (WSL). Vypíchnout lze GUI aplikaci pro nastavování WSL nebo správu WSL z Dev Home.

    Ladislav Hagara | Komentářů: 0
    30.5. 12:44 | Pozvánky

    V sobotu 1. června lze navštívit Maker Faire Ostrava, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

    Ladislav Hagara | Komentářů: 0
    30.5. 12:22 | Nová verze

    Webový server Caddy (Wikipedie) s celou řadou zajímavých vlastností byl vydán ve verzi 2.8 (𝕏). Přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 12
    29.5. 22:11 | Nová verze

    Byla vydána verze 3.0 (@, 𝕏) svobodného softwaru HAProxy (The Reliable, High Performance TCP/HTTP Load Balancer; Wikipedie) řešícího vysokou dostupnost, vyvažování zátěže a reverzní proxy. Detailní přehled novinek v příspěvku na blogu společnosti HAProxy Technologies.

    Ladislav Hagara | Komentářů: 7
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (90%)
     (3%)
     (4%)
     (4%)
    Celkem 1063 hlasů
     Komentářů: 17, poslední včera 15:31
    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: 894×
    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: 72 | 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: 64 | 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: 72 | 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: 64 | 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: 72 | 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: 64 | 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: 72 | 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: 72 | 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: 64 | 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: 72 | 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: 64 | 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: 72 | 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: 64 | 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: 64 | 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: 72 | 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: 64 | 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: 72 | 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.