服务器 Gind.cn

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

Cent OS:如何closures或减less内存过量使用,安全吗?

有时我的服务器因为内存和交换空间不足而停止运行。 (它保持响应平,但没有比这更甚,甚至没有SSH)。 我被告知linux是否会执行内存过量使用,据我所知,这与银行用金钱所做的一样:假设大多数进程不会真正使用所有要求的内存,至less不是全部在同一时间。 请假设这实际上是我的系统偶尔挂起的原因,我们不要在这里讨论这是否是这种情况(请参阅什么可能导致服务器上的所有服务closures,但仍然响应ping以及如何弄清楚 ) 。 所以, 如何在CentOS中禁用或减less内存过量使用? 我读过有两个名为vm.overcommit_memory(值0,1或2)和vm.overcommit_ratiom的设置,但我不知道在哪里我必须find并更改它们(有些configuration文件希望),我应该尝试什么值,以及是否需要重新启动服务器才能使更改生效。 是安全的吗? 我可以期待什么副作用? 当googling overcommit_memory我发现像人们说他们的服务器无法启动了可怕的东西…. 由于是什么导致内存使用量的突然增加是由于MySQL的查询,而这又是在服务HTTP请求时调用,我期望只是一些PHP脚本无法完成,因此有时500响应时服务器太忙,这是我可以采取的风险(当然更好的是,整个服务器变得无法访问,必须重新启动它)。 或者如果我select了错误的设置,真的可能导致我的服务器无法重新启动?

nginx日志logging到access.log.1而不是access.log,logrotate失败?

我有一个nginx实例,它被设置为logging访问/var/log/nginx/access.log和错误到/var/log/nginx/errors.log,但是一旦logrotate每周运行一次,文件就会移动到* .log.1和新的* .log文件被创build,但nginx继续login到log.1文件而不是新的.log文件(没有任何东西被压缩)。 我第一次注意到这一点,自从轮伐日志变成3周后,日志变得越来越大了。 运行kill -HUP `cat /run/nginx.pid`让nginx重新开始logging到正确的地方,但是这个问题在下个星期又开始了。 这是令人沮丧的更重要的原因是我有日志设置为通过rsyslog上传到Loggly,当nginx停止logging到文件我有rsyslog轮询,然后停止上传,我没有得到任何警报。 我怀疑这与重新启动nginx或重新加载configuration有关,因为它没有启动,直到我做了一个configuration更改,并以我认为是正常的方式重新加载configuration。 我试着运行kill -USR1 `cat /run/nginx.pid`但是文件继续logging到错误的位置,直到我运行kill -HUP `cat /run/nginx.pid` ,而我已经知道这并不能解决问题。 任何想法是怎么回事? 我承认我不是logrotate或者nginxpipe理方面的专家,但是我的Google在这个方面失败了。 这里是我的nginx logrotate脚本,让我知道如果还有什么你可能想看到的。 除了定义输出位置之外,nginx.conf在日志方面没有什么特别之处。 /var/log/nginx/*.log { weekly missingok rotate 52 compress delaycompress notifempty create 0640 www-data adm sharedscripts prerotate if [ -d /etc/logrotate.d/httpd-prerotate ]; then \ run-parts /etc/logrotate.d/httpd-prerotate; \ fi \ endscript postrotate [ -s /run/nginx.pid […]