有时,“我的”服务器会停顿,因为它耗尽了内存和交换空间。(它一直在响应ping,但仅此而已,甚至没有ssh)。
我被告知linux确实进行了内存过量使用,据我所知,这与银行用钱做的一样:假定大多数进程实际上不会使用他们要求的所有内存,它会为进程提供比实际可用更多的内存。至少不是同时所有。
请假设这实际上是我的系统偶尔挂起的原因,在这里我们不要讨论是否是这种情况(请参阅什么会导致服务器上的所有服务掉线,但仍然对ping作出响应?以及如何找出原因) 。
所以,
如何在CentOS中禁用或减少内存过度使用?我已经阅读了两个设置,分别称为vm.overcommit_memory(值0、1或2)和vm.overcommit_ratiom,但我不知道必须在何处查找和更改它们(希望是一些配置文件),应尝试使用哪些值,以及是否需要重新引导服务器以使更改生效。
而且安全吗?我可以期待什么副作用?谷歌搜索overcommit_memory时,我发现一些可怕的事情,例如人们说他们的服务器无法启动。
由于导致内存使用量突然增加的原因是mysql,因为它是由php进行的查询,而在服务于http请求时又调用了php,所以我希望只有一些php脚本无法完成,因此有时会有500响应服务器太忙,这是我可以冒的风险(一定要好一些,因为整个服务器无法访问,并且必须对其进行硬重启)。
如果选择错误的设置,是否真的会导致服务器无法重新启动?