在实际询问之前,要清楚:是的,我知道磁盘缓存,不,这不是我的情况:) 抱歉,对于这个序言:)
我用的是CentOS 5。系统中的每个应用程序都在大量交换,并且系统非常慢。当我这样做时free -m,这是我得到的:
total used free shared buffers cached
Mem: 3952 3929 22 0 1 18
-/+ buffers/cache: 3909 42
Swap: 16383 46 16337
Run Code Online (Sandbox Code Playgroud)
所以,我实际上只有 42 Mb 可以使用!据我了解,-/+ buffers/cache实际上并没有计算磁盘缓存,所以我确实只有42 Mb,对吗?我想,我可能是错的,所以我试图关闭磁盘缓存,但没有效果——图片保持不变。
所以,我决定找出谁在使用我所有的 RAM,然后我就使用top了它。但是,显然,它报告说没有进程正在使用我的 RAM。我最上面的唯一进程是 MySQL,但它使用 0.1% 的 RAM 和 400Mb 的交换。当我尝试运行其他服务或应用程序时相同的图片 - 全部进入交换,top显示未使用 MEM(任何进程的最大值为 0.1%)。
top - 15:09:00 up 2:09, 2 users, load average: 0.02, 0.16, 0.11
Tasks: 112 total, 1 running, 111 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.0%sy, …Run Code Online (Sandbox Code Playgroud)