如果我跑

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,它的利用率要比让它闲置好得多。

10-08 20:17