use*_*925 1 linux memory caching free-command
只是寻找关于free -mLinux输出的一些快速帮助.这是我的一台服务器上的示例:
  $free -m
               total       used       free     shared    buffers     cached
  Mem:         14881      14813         68          0        262        883
  -/+ buffers/cache:      13667       1213
  Swap:         4095        240       3855
我知道内核可以并将使用可用内存进行磁盘缓存来加速系统.
通常情况下,我会查看"免费"列中的第二个值,在上面的例子中它是1213.它通常比这要高很多.
我想我想了解' - /+ buffers/cache'旁边的两个输出是什么意思.从我所看到的,系统内存确实很低(只有1213MB可供应用程序使用),操作系统实际需要 13GB用于缓存?
小智 14
total= used+free
shared/ buffers/ cached:这显示为特定目的的内存使用情况,这些值包括在该值used.第二行给出了第一行调整值.它给出了used 减去总和buffers+cached的原始值和free 加上总和的原始值buffers+cached,因此它的标题.这些新值通常比第一行更有意义.
[摘录结束]
专注于你的情况,
如果应用程序需要更多内存,可以从空闲内存或缓存/缓冲中获取,因此:
对于缓存和缓冲区,系统实际上并不需要 262 + 883 = 1145(不是13GB),但由于它存在,它需要它(但如果应用程序需要更多,则将其返回).看看Linux吃了我的RAM吧!页.
您还可以使用top(我个人更喜欢htop)查看内存状态以及哪些应用程序占用大部分RAM.
作为一个例子,这里是我在RaspberryPi中运行的htop的截图和free -h执行:

raspberry ~ # free -h
             total       used       free     shared    buffers     cached
Mem:          183M       178M       5,3M         0B        63M        42M
-/+ buffers/cache:        72M       111M
Swap:           0B         0B         0B