linux 占用了所有内存,似乎不适合特定的应用程序

linux 占用了所有内存,似乎不适合特定的应用程序

系统没有超载,也没有占用内存(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

安装顶部使其真正可视化。

顶部

请注意,应用程序或真的已占用的部分标记为绿色。蓝色和橙色分别是缓冲区和缓存。

相关内容