之前也在Linux中查看过内存,但一直对显示的一些内容不是很了解,也没有去深究,结果发现每次查出来之后还得到网上去了解下是什么意思,麻烦死了,还不如就此好好儿分析一下,之后也方便很多。
这里用的是free命令,显示结果如下:
分析:
第一行:
total指系统的总内存这里是3G;
used指用掉的内存;
free指空闲的内存,其中free = total - used;
shared指共享内存,现在还没搞懂是啥意思;
buffers和cached都是系统用来进行缓存的一些内存,可以快速的被使用;
第二行:
used是指application实际使用中的内存,第一行中的used还包括buffers和cached的内存,所以是相对OS来说的,这里是真正的程序现在占用的内存;
free是指除了上面的used之外的内存,也就是total - used(第二行),指的是相对应用程序来说,还可以使用的内存的量;
第三行:
暂时不清楚其用途什么的。
总结:因为linux总是想充分的利用系统中的内存,所以会有很大一部分内存分配给buffers和cached,这些内存是可以被程序利用的,真正被程序占用的内存空间是第二行的used中的值。