美文网首页
查看linux内存真实使用情况

查看linux内存真实使用情况

作者: Eren_Jaeger | 来源:发表于2019-04-09 16:02 被阅读0次
    正确认识linux服务器应用所占内存

    今天打开服务器一看,哇,咋一看真是吓一跳呢

    [appdeploy@SSS:/home/appdeploy]$free -g
                 total       used       free     shared    buffers     cached
    Mem:            61         57          4          0          0         46
    -/+ buffers/cache:         10         51
    Swap:           19          0         19
    

    这里看到total总计才61个G,但是used是57个G,如果单单这样看,你肯定会觉着内存马上不够用了。

    其实不然,由于linux的内存管理机制,除了对dentry进行缓存(用于VFS,加速文件路径名到inode的转换),还采取了两种主要Cache方式:Buffer Cache和Page Cache,目的就是为了提升磁盘IO的性能。从低速的块设备上读取数据会暂时保存在内存中,即使数据在当时已经不再需要了,但在应用程序下一次访问该数据时,它可以从内存中直接读取,从而绕开低速的块设备,从而提高系统的整体性能。而Linux会充分利用这些空闲的内存,设计思想是内存空闲还不如拿来多缓存一些数据,等下次程序再次访问这些数据速度就快了,而如果程序要使用内存而系统中内存又不足时,这时不是使用交换分区,而是快速回收部分缓存,将它们留给用户程序使用。

    ps:
    应用实际使用的内存 = used - cached/buffer,也就是57 - 46 = 11,应用才使用了11G内存空间呢

    相关文章

      网友评论

          本文标题:查看linux内存真实使用情况

          本文链接:https://www.haomeiwen.com/subject/zrbmiqtx.html