我参与了维护一个运行我们的django网站(nginx / apache / mod_wsgi)的Ubuntu VPS,而且我们一直有一些内存高峰,导致数据库死亡,或者当内存pipe理系统“find任何可以驱动的进程。 我正在修复内存峰值,但我想知道是否有什么我可以做,以更好地处理问题,如果再次发生。
有没有什么工具可以用来检测内存高峰,然后说杀死了这个恶意进程,然后给服务器pipe理员发邮件来修复这个问题? 杀掉一个网站,使服务器可以继续运作,肯定比整个事情更好。
此外,我们收取600美元的服务时间,因为我们必须让托pipe公司重新启动服务器 – 这是托pipe公司的标准做法吗? 另一个与我一起工作的提供者提供了一个面板,我可以自己停止和启动服务器,并且只需要重新启动就可以了,600美元看起来非常大。 (这是纽元,大约是$ 445美元)
对于非工作时间重新启动而言,$ 600肯定是昂贵的 我build议寻找另一个主机。 为了比较,你可以从一个提供自动重启的地方获得几个月的托pipe。
查看monit自动查杀进程。 你可以configuration它来监视CPU /内存甚至服务器的状态,如果有任何exception,让它采取行动。
您可以configuration系统不过载内存。 使用sysctl
将vm.overcommit
为0。
445美元似乎很多,但是: 在你遇到问题之前,你是否阅读过这些细则? 如果需要重启,你有没有计划做什么? 这是回顾过程中显而易见的事情之一, 应该提前做好计划。 而且,老实说,445美元可能会很陡,但是这个教训并不是一个可怕的代价。