• User Attivo

    Saturazione RAM e SWAP

    Buoniorno a tutti!

    Sono 5gg che il mio server va regolarmente giù dopo tre anni di onorato servizio...

    Il problema che si presenta è che la ram e lo swap vengono totalmente saturati: il server si pianta e richiede il riavvio manuale.

    Non sono riuscito a trovarne la causa: lasciando aperto un top cd1 l'unica cosa che sono riuscito a capire è che c'era un numero molto alto (circa 100) di demoni httpd in esecuzione. Probabilmente uno spider o il download di un intero sito.

    Sotto il log di messages che mostra il problema.

    Qualcuno sa come aiutarmi sia a fre il debug che ad eliminare il problema?
    Credo che non sia la prima volta che la macchina venga invasa di richieste httpd e credo che dovrebbe essere in grado di gestirle senza andare giù.

    C'è un paramentro di httpd.conf per limitare il numero di esecuzioni contemporanee del demone?

    Grazie a tutti!
    :ciauz:

    Jul 20 03:51:48 hotels kernel: Normal free:3576kB min:3728kB low:7456kB high:11184kB active:794700kB inactive:32140kB presen
    t:901120kB pages_scanned:1825053 all_unreclaimable? yes
    Jul 20 03:54:54 hotels kernel: protections[]: 0 0 0
    Jul 20 03:54:56 hotels kernel: HighMem free:512kB min:512kB low:1024kB high:1536kB active:483088kB inactive:674016kB present
    :1178160kB pages_scanned:161601 all_unreclaimable? no
    Jul 20 03:54:56 hotels kernel: protections[]: 0 0 0
    Jul 20 03:55:13 hotels kernel: DMA: 44kB 38kB 216kB 332kB 464kB 2128kB 2256kB 0512kB 11024kB 12048kB 24096kB = 12
    456kB
    Jul 20 03:55:14 hotels kernel: Normal: 70
    4kB 08kB 016kB 132kB 164kB 1128kB 0256kB 0512kB 11024kB 12048kB 04096kB
    = 3576kB
    Jul 20 03:55:14 hotels kernel: HighMem: 04kB 08kB 016kB 032kB 064kB 0128kB 2256kB 0512kB 01024kB 02048kB 0*4096kB
    = 512kB
    Jul 20 03:55:14 hotels kernel: 845 pagecache pages
    Jul 20 03:55:14 hotels kernel: Swap cache: add 723095, delete 723089, find 31728/55442, race 0+11
    Jul 20 03:55:14 hotels kernel: 0 bounce buffer pages
    Jul 20 03:55:23 hotels kernel: Free swap: 0kB
    Jul 20 03:55:50 hotels kernel: 523916 pages of RAM
    Jul 20 03:56:02 hotels kernel: 294540 pages of HIGHMEM
    Jul 20 03:56:10 hotels kernel: 5564 reserved pages
    Jul 20 03:56:16 hotels kernel: 203234 pages shared
    Jul 20 03:56:30 hotels kernel: 6 pages swap cached
    Jul 20 03:56:33 hotels kernel: Out of Memory: Killed process 4353 (mysqld).
    Jul 20 03:56:39 hotels kernel: oom-killer: gfp_mask=0xd0
    Jul 20 03:56:42 hotels kernel: Mem-info:
    Jul 20 03:56:50 hotels kernel: DMA per-cpu:


  • Moderatore

    MaxChilds è quello che ti interessa.

    Guarda qui http://tldp.org/LDP/LGNET/123/vishnu.html per una descrizione dettagliata.


  • User Attivo

    Ciao paolino,
    grazie della risposta.

    Nel mio httpd.conf non trovo il parametro MaxChilds mentre invece ho questi:

    <IfModule prefork.c>
    StartServers 8
    MinSpareServers 5
    MaxSpareServers 20
    ServerLimit 256
    MaxClients 256
    MaxRequestsPerChild 4000
    </IfModule>

    <IfModule worker.c>
    StartServers 2
    MaxClients 150
    MinSpareThreads 25
    ***MaxSpareThreads 75 ***
    ThreadsPerChild 25
    MaxRequestsPerChild 0
    </IfModule>

    che dovrebbero essere quelli di default. La cosa curiosa è che per tre anni non ho mai avuto problemi e tutti insieme, per tre notti consecutive... un'invasione di httpd che saturano lo swap e mandano in blocco la macchina...


  • Moderatore

    ops volevo dire MaxClients 😄

    pure MaxRequestsPerChild andrebbe un tantino diminuito


  • User Attivo

    Thanks!
    Vediamo se risolvo 🙂


  • User Attivo

    Aggiornamento:
    tutto deriva da un'installazione di wordpress che fa query pesanti e lascia in sleep diversi connessioni...

    Perché ciò accasa resta tuttavia ancora un mistero...

    http://www.giorgiotave.it/forum/wordpress/125088-query-sleep-e-risorse-down.html#post694009