Linux实际内存使用情况计算
通常我们看到Linux用top命令查看系统运行状况,普遍看到Used Memory占到了将近总内存的90%,然后很多人以为系统内存已经不足。其实,这只是Linux的为了提高文件读取的性能的内存使用机制罢了。不同于Windows,windows程序执行完后,会马上释放掉内存,把Memory降下来。而对于Linux,如果你的服务器内存还有足够多的空间的话,Linux会把程序运行的数据缓存起来,加入到Cache中,所以内存会不断增加,直到一定的限度为止.当超过这限度后,内核必须将脏页写回磁盘,以便释放内存。也就是说,当空闲内存低于一个特定的阈值时,内核的守护进程就会进行内存块回收.
如何查看Linux内存使用情况呢,一般的我们可以用top命令。
我们可以看到free 的mem只有763704k(700多M), 已经使用量达到:3160424k(大概3G),而缓存的内存达到:2127220k 差不多2G.
看起来好像内存的确不够了,但是我们还有约2G+700M的空间可用。
我们用free -m 命令查看下内存的使用情况:
以上各参数的解释:
total:总物理内存的大小。
used:已使用内存。
free:可用内存。
Shared:多个进程共享的内存