Почему выскочка пожирает всю мою оперативную память?
Я использую Ubuntu Server 12.04 LTS в EC2. У меня есть несколько демонов node.js, работающих как сервисы в составе upstart, наряду с обычными средствами инициализации. После каждого развертывания, во время которого все демоны node.js перезапускаются, процесс init начинает расти со скоростью примерно 0,5 МБ / мин. Если я перезапущу определенный из моих демонов, init возвращается к <50MB.
Что мог сделать мой процесс, чтобы выскочка съела мою оперативную память?
Выход сверху:
1 августа 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
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
** Обновление: похоже, это было слишком много, чтобы выплеснуть на стандартный вывод. Спасибо за помощь ребята! **
1 ответ
Короткий ответ: выскочка поглощает всю вашу оперативную память, потому что система не имеет ничего общего с оперативной памятью. Ваша система не находится под давлением памяти, так что она практически просто использует ОЗУ, где бы она ни находилась. Требуется усилие, чтобы восстановить память, и пока система не нуждается, это просто не беспокоит.