Linux内存性能优化
倪朋飞
微软资深工程师,Kubernetes项目维护者
立即订阅
0 人已学习
课程目录
已完结 7 讲
01| 基础篇:Linux内存是怎么工作的?
02 | 基础篇:怎么理解内存中的Buffer和Cache?
03 | 案例篇:如何利用系统缓存优化程序的运行效率?
04 | 案例篇:内存泄漏了,我该如何定位和处理?
05 | 案例篇:为什么系统的Swap变高了(上)
06 | 案例篇:为什么系统的Swap变高了?(下)
07 | 套路篇:如何“快准狠”找到系统内存的问题?
Linux内存性能优化
登录|注册

06 | 案例篇:为什么系统的Swap变高了?(下)

倪鹏飞 2019-11-06
你好,我是倪朋飞。
上一节我们详细学习了 Linux 内存回收,特别是 Swap 的原理,先简单回顾一下。
在内存资源紧张时,Linux 通过直接内存回收和定期扫描的方式,来释放文件页和匿名页,以便把内存分配给更需要的进程使用。
文件页的回收比较容易理解,直接清空缓存,或者把脏数据写回磁盘后,再释放缓存就可以了。
而对不常访问的匿名页,则需要通过 Swap 换出到磁盘中,这样在下次访问的时候,再次从磁盘换入到内存中就可以了。
开启 Swap 后,你可以设置 /proc/sys/vm/min_free_kbytes ,来调整系统定期回收内存的阈值,也可以设置 /proc/sys/vm/swappiness ,来调整文件页和匿名页的回收倾向。
那么,当 Swap 使用升高时,要如何定位和分析呢?下面,我们就来看一个磁盘 I/O 的案例,实战分析和演练。

案例

下面案例基于 Ubuntu 18.04,同样适用于其他的 Linux 系统。
机器配置:2 CPU,8GB 内存
你需要预先安装 sysstat 等工具,如 apt install sysstat
首先,我们打开两个终端,分别 SSH 登录到两台机器上,并安装上面提到的这些工具。
同以前的案例一样,接下来的所有命令都默认以 root 用户运行,如果你是用普通用户身份登陆系统,请运行 sudo su root 命令切换到 root 用户。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《Linux内存性能优化》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(1)

  • Jeff.Smile
    swap设置为0依然会换出
    2019-11-23
    2
收起评论
1
返回
顶部