为什么我的64位Ubuntu VPS认为它使用的RAM比它多?
这是很难解释简洁,但我的服务器用完了物理内存,并进入交换只有几个Apache / PHP进程运行。 为了解决这个问题,我们设置了fcgid来不会产生太多的php进程,但是这意味着我们在非常轻微的负载下开始服务503错误。 如果您查看正在运行的进程,那么它们似乎不会考虑机器报告的RAM使用量。 我知道的问题,如Linux看起来像没有可用的内存,因为它都被标记为caching或缓冲等,但似乎并非如此。 每个进程似乎有一个巨大的虚拟内存大小(即使使用交换是非常低的),但我不知道这是相关的或某事担心与否。 仅供参考,目前正在运行Apache MPM和mod_fcgid。 但是,与prefork MPM的Apache发生同样的问题。 感觉就像机器大大高估了它使用的RAM数量(或低估了多less空闲)。 希望人们能理解我的解释。 请问是否有更多信息我可以提供。 以下是有问题的服务器的一些统计数据(在一分钟内) # top top – 12:29:03 up 7 days, 22:24, 2 users, load average: 0.45, 0.50, 0.50 Tasks: 103 total, 1 running, 102 sleeping, 0 stopped, 0 zombie Cpu(s): 4.7%us, 0.4%sy, 0.0%ni, 94.0%id, 0.8%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 1514952k total, 1417244k […]