系统没有超载,也没有占用内存(RAM)的大型进程,但仍然只有 20-40 MB 的可用空间。
谁占用了 RAM,我应该避免吗? (怎么避免?)
答案1
答案2
Linux 认为空闲的 RAM 是一种资源浪费。任何未用于存储程序的内存都用作缓冲区空间,用于缓存最近的磁盘活动等。它会将缓冲区刷新到磁盘,以便为程序内存分配需求腾出空间。
答案3
“free”命令将显示缓冲区和缓存。以 -/+ buffers/cache 开头的行显示了真的减去缓冲区和缓存后的已用内存和可用内存。
total used free shared buffers cached
Mem: 373 350 23 0 135 109
-/+ buffers/cache: 105 268
Swap: 511 0 511
请注意:
- 该机器有 373MB RAM,其中 350MB 已使用,剩余 23MB 内存可用
- 350MB 包括 135MB 的缓冲区和 109MB 的缓存
- 当我们减去这些缓冲区和缓存量时,实际只使用了 105MB,剩余 268MB 内存可用
在需要时,缓存被删除,缓冲区被刷新以释放内存。当需要释放内存时,这几乎不会带来任何开销,只要内存可以用作缓冲区/缓存,就可以显著提高性能。
因此,如果您想知道可用内存(即:可供程序使用)的总量,请查看“-/+ buffers/cache”行中“free”列中的数量。
答案4
安装顶部使其真正可视化。
请注意,应用程序或真的已占用的部分标记为绿色。蓝色和橙色分别是缓冲区和缓存。