Linux系统上的内存使用情况

Mat*_*att 1 linux memory memcached

如果我跑

top
Run Code Online (Sandbox Code Playgroud)

在Linux系统上,我可以看到很多关于内存使用情况的信息.

Mem:  15736360k total,  8415332k used,  7321028k free,   174876k buffers
Swap:        0k total,        0k used,        0k free,  2630508k cached
Run Code Online (Sandbox Code Playgroud)

我想知道:告诉我的"缓存"属性是什么?似乎这根本没有被释放 - 这是正常行为吗?

我们正在为我们的网络应用运行memcached.这有什么关系吗?

马特

unw*_*ind 7

您可以(也可能应该)使用该free命令来打印内存状态:

             total       used       free     shared    buffers     cached
Mem:        515568     504740      10828          0      44248     427800
-/+ buffers/cache:      32692     482876
Swap:       915664      64820     850844
Run Code Online (Sandbox Code Playgroud)

"缓冲区/缓存"行告诉您内核当前用于各种缓冲区和缓存的RAM量,主要用于磁盘I/OI认为.如果程序需要,这个内存可供程序使用,但在它们执行之前,如果内核使用它来缓冲I/O而不是只剩下空闲,则可以更好地利用它.