存档

2011年7月 的存档

【updated】Cannot allocate memory处理方法

2011年7月27日 1 条评论

像往常一样,早上来第一件事,拨VPN,拨了半天总是出错,ssh连server居然也连不上,报Cannot allocate memory错误,Google之,说是

有些程序整个服务器的物理内存当作目前服务器拥有的内存了,而不是VPS 的内存,因此,当它试图使用大于VPS 限制的大小的内存时,就报这个错误了。

简单粗暴的上ContrlPannel重启之,正常了。没时间折腾,先mark之,等有空再看如何解决~

解决了,是有个用户不自觉,开了几百个ssh进程,导致服务器内存不足。兄弟对不住,那会免费开给你wallbreak用,你非要这样搞破坏,对不住了,帐户我删了~

后来想想这也不是办法,也有可能用户是无意的呢,咳,还是我限制不够,删除用户治标不治本,下来上治本的,限制用户资源占用:
首先在/etc/pam.d/login里添加一行

session required /lib/security/pam_limits.so

然后编辑

/etc/security/limits.conf

1、限制用户的内存使用

 * - rss 100000 除root之外的用户,内存使用限制在100M

2、限制用户的进程数
* hard nproc 20 除root之外的用户,最多开20进程我的
PS:apache以www用户运行,所以对其限制放宽

 www - nproc 100
 www - rss 500000

先这样设置下,观察阵子,本文持续更新。

分类: 关于技术 标签: