开发者社区> 问答> 正文

如何分析linux云主机内存是否够用

专为阿里云写的文章,个人原创!
如需要帮助,可以使我们的远程服务平台http://www.its365.com.cn


有很多朋友是用习惯了windows系统,用了linux后觉得内存常常“爆满”。
其实这是由于你不了解linux的内存管理机制造成的。
本文章从“linux空闲内存算法”和“linux内存管理优点”,两个方面讲:
1、linux空闲内存算法
使用SSH登录LINUX后,执行free命令,输出的内容可能和这样相似:

[root@localhost ~]# free
                   total         used       free          shared    buffers     cached
Mem:       8059640    5405924    2653716          0     511400    3711344
-/  buffers/cache:    1183180    6876460
Swap:     10305528       2312   10303216
这里的单位是K,具体的英文翻译我就不多说了,可以搜索一下:linux 内存,有很多文章介绍。
我来说一下linux空闲内存的公式:   used - buffers-cached=空闲内存
像上面我机器的空闲内存应为 5405924-511400-3711344=1183180k=1.16G


2、Linux内存管理优势
纯个人理解,不能保证像教科书那样正确。
win内存管理:比如word,需要使用1G内存,就从内存里划出1G内存来,给word专用,当word关闭时,再把这1G内存释放。---这“申请-使用-释放”的过程是繁重的对硬件操作,会影响程序的运行性能。
linux内存管理:比如apache,运行需要1G内存,就从内存里划出1G内存来,给apache专用,当apache关闭时,不一定再把这1G内存释放,当再有程序需要时,就不需要再重新申请内存了。这样能提高程序运行的性能。



展开
收起
bendchen 2014-02-17 13:42:28 8970 0
3 条回答
写回答
取消 提交回答
  • 有时候Linux会把内存全部吃完,4G内存,显示空余一百M不到,可是Liunx上的网站或者程序并没吃这么多内存呀
    和楼主解释的差不多,Linux系统的内存管理是把内存都申请预留了,并非占用消耗了,是为了提高系统整体运行性能的
    2014-02-27 01:22:03
    赞同 展开评论 打赏
  • 这文章不错!

    -------------------------

    直接看探针就好了。。。

    2014-02-21 16:53:51
    赞同 展开评论 打赏
  • 很实用的东西,谢谢分享哈
    2014-02-17 14:19:51
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Alibaba Cloud Linux 3 技术揭秘 立即下载
Alibaba Cloud Linux 3 发布 立即下载
ECS系统指南之Linux系统诊断 立即下载