Linux 缓存使用情况

Linux 缓存使用情况

我的 Centos 盒子似乎使用了大量缓存,大多数使用的内存都用于缓存,我如何才能找出缓存的用途?

             已使用的、可用的、缓存的共享缓冲区总数
内存:16439708 10469864 5969844 0 197936 9534176
-/+ 缓冲区/缓存:737752 15701956
交换:16763816 0 16763816

答案1

Linux 机器中的缓存通常用于将磁盘块缓存到内存中,以防止写入硬盘并加快 I/O 操作。此外,许多空闲内存在实际使用时被缓存和释放。必需的

在解释 的输出时free,您应该查看第二行的实际内存使用量

上述数字可以解释为:

  • 9534176 千字节缓存内存
  • 实际使用了 737752 个内存
  • 15701956 实际释放内存

如需了解更多信息,请查看http://www.faqs.org/docs/linux_admin/buffer-cache.html

答案2

您可以查看 /proc/slabinfo 或使用命令 slaptop 来获得类似 top 的缓存对象界面。

答案3

缓存是为了加速磁盘 I/O 操作。

正如 Linus Torvalds 曾经说过的,“空闲内存是坏内存”。Linux 内核使用未使用的(系统/应用程序)内存作为缓存,如果程序需要更多内存,系统将从缓存中获取。

相关内容