杀死的进程没有显示内存泄漏的迹象?

时间:2014-11-18 14:33:59

标签: php memory memory-leaks

我有一个在PHP编写的后台运行的脚本,它连续多次连接到其他服务器(逐个)。

我专门研究了内存泄漏,以便正确关闭所使用的资源,并且我已经使用PHP的memory_get_usage()函数实现了脚本正在使用的实时输出。

脚本运行了大约一个小时,内存显示大约340kb(最大360kb)。

然而,它停了下来。没有任何错误消息或其他任何内容。

当我看到dmesg时,我看到的是:

  

内存不足:杀死进程3147(php5)得分905或牺牲孩子

     

杀死进程3147(php5)total-vm:651064kB,anon-rss:475032kB,   文件RSS:48KB

有关信息,我有512Mb数字海洋服务器

使用之前的流程列表,包括lowmem_reserve

的消息

我开始认为脚本包含一些内存泄漏。你能证实一下吗?但如果是这种情况,为什么memory_get_usage没有增加?它可靠吗?有没有更好的方法来追踪潜在的内存泄漏?

更新1:这是我服务器的当前状态

  PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND           
 2283 root      20   0 67104 6724  900 S   0,0  1,3   0:05.97 fail2ban-server   
 4100 cyril     20   0 21416 4156 1672 S   0,0  0,8   0:00.16 bash              
 4094 root      20   0 81856 3976 3136 S   0,0  0,8   0:00.00 sshd              
 4192 root      20   0 20568 3384 1732 S   0,0  0,7   0:00.09 bash              
 2370 root      20   0 62032 2264 1196 S   0,0  0,4   0:00.13 console-kit-dae   
 4099 cyril     20   0 81856 1676  848 S   0,0  0,3   0:00.00 sshd

0 个答案:

没有答案