专为阿里云写的文章,个人原创!
如需要帮助,可以使我们的远程服务平台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内存释放,当再有程序需要时,就不需要再重新申请内存了。这样能提高程序运行的性能。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。