5分钟学会两年经验Linux运维都不懂的内核问题
发布时间:2019-09-10 17:49:20 所属栏目:Windows 来源:罗道文的私房菜
导读:副标题#e# 前言 之前在实习时,听了 OOM 的分享之后,就对 Linux 内核内存管理充满兴趣,但是这块知识非常庞大,没有一定积累,不敢写下,担心误人子弟,所以经过一个一段时间的积累,对内核内存有一定了解之后,今天才写下这篇博客,记录以及分享。 【OOM
当 overcommit_memory 为2时,永远都不能超出某个限定额的内存申请,这个限定额为 swap+RAM* 系数(/proc/sys/vm/overcmmit_ratio,默认50%,可以自己调整),如果这么多资源已经用光,那么后面任何尝试申请内存的行为都会返回错误,这通常意味着此时没法运行任何新程序 以上就是 OOM 的内容,了解原理,以及如何根据自己的应用,合理的设置OOM。 3、系统申请的内存都在哪? 我们了解了一个进程的地址空间之后,是否会好奇,申请到的物理内存都存在哪了?可能很多人觉得,不就是物理内存吗? 我这里说申请的内存在哪,是因为物理内存有分为cache和普通物理内存,可以通过 free 命令查看,而且物理内存还有分 DMA,NORMAL,HIGH 三个区,这里主要分析cache和普通内存。 通过第一部分,我们知道一个进程的地址空间几乎都是 mmap 函数申请,有文件映射和匿名映射两种。 3.1 共享文件映射 (编辑:源码门户网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐