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
Run Code Online (Sandbox Code Playgroud)
我知道内核可以并将使用可用内存进行磁盘缓存来加速系统.
通常情况下,我会查看"免费"列中的第二个值,在上面的例子中它是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
Run Code Online (Sandbox Code Playgroud)