今天早上,我注意到一个php错误,抱怨无法访问的设备。经过进一步的研究,我发现这是由于事实是100%的虚拟内存被使用。在重新启动(我想暂时清理一下)之后,一个新的问题出现了。内存现在是0%,但是没有进程可以写入它。
有一段时间没有什么改变,所以我不确定是什么问题。虽然有些人抱怨无法写入虚拟内存(很明显,这是一种效果,而不是原因),但没有日志指明原因是什么。
有什么办法找罪魁祸首吗?
一些在服务器上运行的软件及其重新启动后的状态
opendkim - failed to start
postfix - failed to start
courrier - running
clamav - running
svnserve - running
mongodb - running (failing to read/write)
mysqld - failed to start
vsftpd - running
apache2 - success发布于 2012-08-13 15:11:02
谢谢您提供所需的信息。你有2GB内存,而且很低。您应该升级它,因为它上运行了许多服务。
但是,您的问题似乎是由于以下原因而发生的,
Filesystem Size Used Avail Use% Mounted on
rootfs 10G 9.6G 0 100% /
/dev/root 10G 9.6G 0 100% /清理根分区中的一些文件/以释放空间并重新启动服务。看起来,您的一些服务无法写入/文件系统,因此出现了错误。
您还应该考虑在长期运行中向您的/分区添加空间,因为您可能会反复遇到这个问题。您的/home分区有850 has,只有3%的使用率:)
发布于 2012-08-13 12:25:34
内存现在是0%,但是没有进程可以写入它。
这句话毫无意义。如果您的虚拟内存不可写,那么系统就不会启动,您当然也没有足够的权限进行诊断。
你是说交换空间是0%吗?
看看你发布的图片,我看到你使用的是使用错误术语的软件。(提示:虚拟内存是系统上可用的全部可寻址内存--对于PC类型的计算机来说,这通常意味着RAM和交换:真正的内存是虚拟内存,交换也是这样)。
我认为你的第一步应该是读一些关于内存的东西,至少这样你就知道术语的诀窍了。
进入这种状态的Linux服务器有非常大的问题- OOM杀手应该清除进程。(并编写它正在做的事情的日志)。
服务无法启动意味着机器在重新启动后仍处于故障状态,问题远远超出了简单的内存泄漏。如果您的交换空间不可写且进程没有启动,那么最可能的原因是磁盘(S)正在翻转为只读(如果它只是文件系统,那么除非您使用交换文件而不是交换分区,否则它不会影响交换)。有关hdparm的更多信息,请参见手册页。
内存填充与磁盘切换为只读之间没有直接联系.暗示了两个不同的问题,尽管我建议使用基于主机的IDS对您的安装进行完整的检查-当然您还没有指纹数据库,那么您唯一的选择就是使用rootkit检测器。
https://serverfault.com/questions/416923
复制相似问题