我们有一个通过GoDaddy托pipe的Linux虚拟服务器,而且我们的网站最近运行缓慢。 我捅了一下服务器(我不是一个系统pipe理员,并有非常有限的Linux经验,主要是从C编程类)。
这里是free -m命令给我的东西:
[~]# free -m total used free shared buffers cached Mem: 2048 2048 0 0 0 0 -/+ buffers/cache: 2048 0 Swap: 0 0 0
我对这个命令和结果的理解是,所有的内存都被使用了,没有一个是在缓冲区中,这让我觉得非常糟糕。 我注意到,我们的MySQL药水正在使用大约22%的内存,但是我不想惹恼这个,因为数据库很重要(不是我认为它会打破数据库,但它肯定会使它无法访问,这是坏)。 我想服务器重新启动是最好的,但是我的老板不想让这个站点停下来,所以现在已经不行了。 我还能做些什么来改善这种状况?
我不确定什么信息在这里是重要和有用的,所以如果得到请求,我会用信息更新这个信息。 这是一个生产服务器,所以我不想做任何事情,像下降caching。
你没有剩余的记忆 您必须优化您的stream程(mysql,apache或nginx)或升级到具有更多内存的下一个虚拟服务器软件包。
内存将再次上升,重新启动不会解决您的问题。
你的网站上是否有脚本运行? 你确定他们不是从代码泄漏内存?
安装HTOP,它是TOP的改进版本来查看您的资源使用情况:
yum install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm yum install htop
正如在另一个答案中所述,检查顶部运行的进程htop。 另外,请确保使用yum update升级任何软件包
因为旧的可能有内存泄漏。 另外,既然你说你运行一个网站,你可能会运行Apache。 尝试切换到nginx(推荐)或lighttpd。 已知Apache会吃掉资源,所以轻量级的Web服务器可以帮助很多。
如果您的Web应用程序可以,请尝试使用SQLite而不是MySQL。 它更轻。 最后,(显然Godaddy使用OpenVZ),你的VPS有一个非常高的机会就像地狱一样超卖,主机节点合法的内存不足。 我知道你说你不能切换,但如果有机会,找KVM或Xen。 DigitalOcean是一个非常好的价格非常好的KVM提供商。 Linode使用Xen并且也很棒。