linux内存使用计算方式

Linux开机后,使用top命令查看,4G物理内存发现已使用的多大3.2G,占用率高达80%以上:

Mem: 3889836k total, 3341868k used, 547968k free, 286044k buffers

Swap: 6127608k total, 0k used, 6127608k free, 1554888k cached

如上红色数字部分,使用free查看结果如下:

[root@rd01 ~]# free -m

     total    used   free   shared buffers cached

Mem:   3798   3264   534   0    279  1518

-/+ buffers/cache:  1466   2332

Swap:   5983   0    5983

红色数字部分已使用内存而已是3264M,那是不是表示系统内存就真的占用这么多呢,这可才运行了一个网站而已,不可能就被占用这么多啊!

注意看蓝底部分,这部分表示系统高速缓存所使用的内存,这部分内存可以随时分配给进程使用,因此,真正剩余内存应该free下534+2332=2866M,因此剩余物理内存应该为2866M,而不是534M。

也可以认为如果swap没有大量使用,mem还是够用的,只有mem被当前进程实际占用完(没有了buffers和cache),才会使用到swap的。

原文地址:https://www.cnblogs.com/web21/p/6121191.html