如果我跑
top
在Linux系统上,我可以看到很多关于内存使用的信息。
Mem: 15736360k total, 8415332k used, 7321028k free, 174876k buffers
Swap: 0k total, 0k used, 0k free, 2630508k cached
我在想:“缓存”属性告诉我什么?似乎这根本就没有被释放-这是正常的行为吗?
我们正在为我们的网络应用运行memcached。这和它有关系吗?
马特
最佳答案
您还可以(或许应该)使用free
命令打印内存状态:
total used free shared buffers cached
Mem: 515568 504740 10828 0 44248 427800
-/+ buffers/cache: 32692 482876
Swap: 915664 64820 850844
“buffers/cache”行告诉您内核目前用于各种缓冲区和缓存的ram有多少,我认为主要用于磁盘i/o。如果程序需要,这个内存是可用的,但是在它们需要之前,如果内核使用它来缓冲I/O,它的利用率要比让它闲置好得多。