free命令用来显示当前系统中已用和未用的内存使用状况。
bash$ free -m
total used free shared buffers cached
Mem: 49381 29037 19353 0 7196 12491
-/+ buffers/cache: 9349 39042
Swap: 1951 65 1886
free命令的执行结果要如何查看呢?
1. total = used + free
说明总内存量是已用内存和未用内存之和;
2. - buffers/cache = used - buffers - cache
这部分是被程序真正占用的内存量;
3. + buffers/cache = free + buffers + cache
这部分是可以被使用的内存总量;
从以上的算法来看:
操作系统把buffers + cache已经算到used mem的范围中;
而应用程序则把buffers + cache算作是可用的内存,这是因为buffers和cache
本身就是为了提高应用程序访问设备和文件的性能。
4. swap分区是为了在内存不足时,将swap分区作为内存的扩展所用。
如果你的系统经常会出现swap分区used过多的情况,那就说明你的内存可能已经不够用了。
如果swap分区使用太多,那么系统性能就会下降,所以试试换更大容量的内存吧。
由于内存使用状况一直是动态变化的,所以每次free查看的结果都会不一样,
所以有时候我们可以使用free命令来查看系统中是否有内存泄漏等问题。
待解决问题:
linux free命令与cat /proc/meminfo二者之间有何关系?