为什么我的服务器显示
total used free shared buffers cached Mem: 12286456 11715372 571084 0 81912 6545228 -/+ buffers/cache: 5088232 7198224 Swap: 24571408 54528 24516880
我不知道在linux中计算内存。 我认为它说5088232用于7198224是免费的,这意味着它实际上消耗5GB的RAM?
第一行意味着:
total
:您的总体(物理)RAM(不包括内核在启动时永久保留的一小部分内存); 这就是为什么它显示约。 11.7 GiB,而不是12 GiB,你可能有。 used
:操作系统正在使用的内存。 free
:内存不在使用中。 total
= used
+ free
shared
/ buffers
/ cached
:这显示了特定用途的内存使用情况,这些值包含在使用的值中。 第二行给出调整的第一行值。 它给出了used
的原始值减去总和buffers+cached
和原始值free
加总和buffers+cached
,因此它的标题。 这些新的价值往往比第一线的价值更有意义。
最后一行( Swap:
提供了有关交换空间使用情况的信息(即,已暂时移到磁盘的内存内容)。
为了真正理解这些数字的含义,你需要一些关于Linux中的虚拟内存(VM)子系统的背景知识。 只是一个简短的版本:Linux(像大多数现代操作系统)将总是试图使用免费的RAMcaching的东西,所以Mem: free
将几乎总是非常低。 因此会显示line -/+ buffers/cache:
因为它显示忽略高速caching时有多less内存是空闲的; 如果内存稀less,caching将自动释放,所以它们并不重要。
如果-/+ buffers/cache:
行中的free
值变低,那么Linux系统的内存真的很低。
有关数字含义的更多细节,请参阅如下问题:
请注意,procps 3.3.10(2014年发布)中free
的输出发生了变化。 所报告的列现在是“总计”,“使用”,“免费”,“共享”,“缓冲/caching”,“可用” ,以及一些值的含义改变,主要是为了更好地说明Linux内核的板caching。
请参阅Debian Bug报告#565518的动机,以及free
输出从14.04到16.04的变化是什么意思? 了解更多详细信息。
对于任何需要更简单,一步一步解释的人来说,请查看http://thoughtsbyclayg.blogspot.com/2008/09/display-free-memory-on-linux-ubuntu.html ,他的解释帮了我很多。
缓冲区/高速caching行显示程序使用了多less内存(第一列),对于要使用的程序是免费的(第二列)。 这是一个相当深奥的数字,而不是在实践中真正看的东西。