我在EC2中运行Ubuntu Server 12.04 LTS.我有几个node.js守护进程作为upstart下的服务运行,以及通常的init东西.每次部署之后,所有node.js守护程序都会重新启动,“init”进程开始以大约0.5MB / min的速度增长.如果我重新启动特定的一个守护进程,init将返回<50MB. 我的过程可以做些什么来让新贵吃掉我的RAM? 从顶部输出: 8月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
8月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
**更新:看起来stdout太多了.谢谢你的帮助,伙计们! **
简短的回答是,暴发户正在吃掉你所有的RAM,因为系统与RAM没有任何关系.你的系统没有任何内存压力,所以它几乎只是在任何结束时都使用RAM.回收内存需要花费精力,只要系统不需要,它就不会费心.