Perché è felice di mangiare tutta la mia RAM?

Sto eseguendo Ubuntu Server 12.04 LTS in EC2. Ho diversi demoni node.js che funzionano come servizi in fase di upstart, insieme con le solite cose init. Dopo each distribuzione, durante la quale tutti i demoni node.js si riavviano, il process "init" inizia a crescere a circa 0,5MB / min. Se riavvii un particolare dei miei demoni, init risale a <50 MB.

Cosa potrebbe fare il mio process per causare upstart a mangiare la RAM?

Uscita dall'alto:

1 ago 23:51 UTC

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 17627 root 20 0 307m 90m 3444 S 0 5.3 146:18.06 chef-client 1 root 20 0 67680 44m 1140 S 1 2.6 59:11.04 init 17857 appserve 20 0 927m 30m 7024 S 4 1.8 2:01.79 node 17963 appserve 20 0 732m 26m 6504 S 2 1.6 0:36.03 node 18363 appserve 20 0 728m 21m 6316 S 0 1.3 0:00.71 node 14798 postgres 20 0 533m 20m 19m S 0 1.2 1:38.83 postgres 18091 appserve 20 0 726m 16m 6320 S 0 1.0 0:00.66 node 14801 postgres 20 0 533m 16m 15m S 0 1.0 4:07.21 postgres 17993 postgres 20 0 538m 16m 12m S 0 1.0 0:09.56 postgres 17865 postgres 20 0 537m 16m 12m S 0 0.9 0:15.00 postgres 

Ag 2 01:32 UTC

  PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1 root 20 0 116m 94m 1140 S 0 5.6 59:51.25 init 17627 root 20 0 304m 87m 3444 S 0 5.2 147:04.41 chef-client 17963 appserve 20 0 737m 35m 7192 S 1 2.1 1:25.47 node 17857 appserve 20 0 926m 27m 7028 S 3 1.6 5:41.82 node 18363 appserve 20 0 728m 22m 6316 S 0 1.3 0:00.98 node 14798 postgres 20 0 533m 20m 19m S 0 1.2 1:39.29 postgres 18091 appserve 20 0 726m 16m 6320 S 0 1.0 0:00.66 node 14801 postgres 20 0 534m 16m 15m S 0 1.0 4:08.34 postgres 17993 postgres 20 0 538m 16m 12m S 0 1.0 0:23.08 postgres 17865 postgres 20 0 537m 16m 13m S 0 1.0 0:30.20 postgres 

** Aggiorna: sembra che era troppo spew per stdout. Grazie per il vostro aiuto ragazzi! **

  • C'è un modo "standard" per fare daemon in Debian?
  • Perché il mio lavoro Upstart funziona con sudo ma non con setuid?
  • Upstart: arresto su runlevel contro stop all'avvio rc RUNLEVEL =
  • Script upstart vs command-line: perché questa differenza nel comportmento?
  • Upstart non funziona
  • Riavviare automaticamente MongoDB se si blocca
  • Dobbiamo passare esplicitamente la posizione di php.ini a php-fpm?
  • Errore di Upstart di Ubuntu
  • One Solution collect form web for “Perché è felice di mangiare tutta la mia RAM?”

    La breve risposta è che il upstart sta mangiando tutta la RAM perché il sistema non ha altro a che fare con la RAM. Il tuo sistema non è sotto pressione di memory, quindi praticamente lascia la RAM usata ovunque vada. Ci vuole uno sforzo per recuperare la memory e finché il sistema non ha bisogno, semplicemente non si preoccupa.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.