需要帮助来解释free命令的输出
我很感激帮助解释下面’free -m’的输出。
-bash-4.2$ free -m total used free shared buff/cache available Mem: 15793 7112 88 7840 8591 611 Swap: 16891 5289 11602
- 如果我有近11GB的免费空间,为什么我看到交换使用。 不应该是0吗?
- 此外,’共享’值为7840.此内存是否可用于新应用程序?
- 只有’缓存’内存可用于新应用程序吗? 换句话说,“共享”和“缓冲”内存不适用于新应用程序?
- 我应该如何解释值为611的“可用”列? 这个价值是如何得出的?
它说,你的交换区域是16891 MB。 您分配了5289 MB,并且有11602 MB的可用交换区域。 总计=已使用+免费
共享 :tmpfs使用的内存(大部分)(/ proc / meminfo中的shmem)
缓冲区 :内核缓冲区使用的内存(/ proc / meminfo中的缓冲区)
缓存 :页面缓存和slab使用的内存(/ proc / meminfo中的缓存和SReclaimable)
可用 :估计可用于启动新应用程序的内存量,无需交换。 与缓存或空闲字段提供的数据不同,此字段考虑了页面缓存,并且由于正在使用的项目,并非所有可回收的内存块都将被回收。
你可以man free
使用命令man free
阅读更多内容
- 你有11GB的免费交换区域,而不是内存,所以你应该看到5289 MB交换使用。
- 可用于新应用程序的内存为611 MB,您可以在可用列下看到。
- 不,只有可用列显示应用程序的可用内存。
- 见上一个答案
编辑:找到有关free
命令最近更改的主题 。 可以有用。
问题的简短回答…如果你正常运行时你的free -m
输出是典型的…你的RAM用完了,开始使用30%+交换空间,系统将开始减速,因为磁盘(交换)速度比实际RAM速度慢。 系统速度较慢,磁盘I / O较多。
是的……你可以使用更多的内存。 添加内存主要取决于两件事……你的主板需要多少内存……以及你可以在更多内存上花多少钱。
有一个名为vm.swappiness
的系统参数,用于设置如何使用RAM与交换,但有些人可能会争论如何设置它。 这是另一个讨论,但你可以在这里搜索AU以查看对话。
您当前的16G交换设置很好,即使您添加了更多内存。