加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

5分钟学会两年经验Linux运维都不懂的内核问题

发布时间:2019-09-10 19:59:08 所属栏目:Windows 来源:罗道文的私房菜
导读:副标题#e# 前言 之前在实习时,听了 OOM 的分享之后,就对 Linux 内核内存管理充满兴趣,但是这块知识非常庞大,没有一定积累,不敢写下,担心误人子弟,所以经过一个一段时间的积累,对内核内存有一定了解之后,今天才写下这篇博客,记录以及分享。 【OOM

从上述结果,我们可以看出,只有buff/cache增长了1G,即当进行共享匿名映射时,这时是从 cache 中申请内存,道理也很明显,因为父子进程共享这块内存,共享匿名映射存在于 cache,然后每个进程再映射到彼此的虚存空间,这样即可操作的是同一块内存。

4、系统回收内存

当系统内存不足时,有两种方式进行内存释放,一种是手动的方式,另一种是系统自己触发的内存回收,先来看下手动触发方式。

4.1 手动回收内存

手动回收内存,之前也有演示过,即

  1. echo 1 >> /proc/sys/vm/drop_caches 

我们可以在 man proc 下面看到关于这个的简介

5分钟学会两年经验Linux运维都不懂的内核问题

从这个介绍可以看出,当 drop_caches 文件为1时,这时将释放 pagecache 中可释放的部分(有些 cache 是不能通过这个释放的),当 drop_caches 为2时,这时将释放 dentries 和 inodes 缓存,当 drop_caches 为3时,这同时释放上述两项。

关键还有最后一句,意思是说如果 pagecache 中有脏数据时,操作 drop_caches 是不能释放的,必须通过 sync 命令将脏数据刷新到磁盘,才能通过操作 drop_caches 释放 pagecache。

ok,之前有提到有些pagecache是不能通过drop_caches释放的,那么除了上述提文件映射和共享匿名映射外,还有有哪些东西是存在pagecache了?

4.2 tmpfs

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读