记一次优化Linux服务器swap内存过高问题
今天收到zabbix告警,有点奇怪的是swap内存使用很高,但实际使用内存却不多,下面一起来看看吧。
- 作者:波波说运维来源:今日头条|2020-11-06 00:45
概述
今天收到zabbix告警,有点奇怪的是swap内存使用很高,但实际使用内存却不多,下面一起来看看吧:
1. 查看服务器内存使用情况
可以发现实际剩余内存还剩很多,但swap已经使用了90%
2. 查看占用swap过高的进程
正常情况下swap的使用应该是0,所以swap剩余小于80%时,我们便需要关注是哪个进程占用过高。
通过以下命令查看占用swap过高的进程:
- for i in `cd /proc;ls |grep "^[0-9]"|awk ' $0 >100'` ;do awk '/Swap:/{aa=a+$2}END{print '"$i"',a/1024"M"}' /proc/$i/smaps ;done |sort -k2nr

3. 查看进程
检查pg数据库无异常,也没有任务在跑。

4. 配置内核参数来减少swap的使用
如果内存够大,其实不必太多的使用 SWAP 分区, 可以通过修改 swappiness 的数值。swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间,swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。
在linux里面,默认设置swappiness这个值等于60。
现在一般1个G的内存可修改为10, 2个G的可改为5, 甚至是0。具体这样做:
- --尽可能使用内存而不用swap
- echo "vm.swappiness=1">>/etc/sysctl.conf
- sysctl -p
- --刷新SWAP
- --刷新一次SWAP(将SWAP里的数据转储回内存,并清空SWAP里的数据)
- swapoff -a && swapon -a
- --清理缓存
- sync
- echo 3> /proc/sys/vm/drop_caches
5. 处理后结果
可以发现问题已解决。

【责任编辑:赵宁宁 TEL:(010)68476606】
点赞 0
- 大家都在看
- 猜你喜欢
编辑推荐
- 24H热文
- 一周话题
- 本月获赞
- 这就是全新的Windows!来看Windows10X抢先上手体验微软 KB4598298 更新功能将于近期推送给 Win10 20H2,修复休眠唤醒空白锁屏问题Windows 10全新UI亮点前瞻!全面圆角设计UI你喜欢吗强大的测速工具发特供版!Speedtest中国版体验清静了:Flash Player已在Windows 10上停止工作!让 Flutter 在鸿蒙系统上跑起来春节回家到底要不要测核酸隔离?教你怎样查清楚版本号确定!Windows 10 21H1更新将发布 大幅提升性能
- 强大的测速工具发特供版!Speedtest中国版体验Linux下RPM软件包的安装及卸载Linux查看环境变量当前信息和查看命令微软 Windows10 Flash Player 已停止工作,本月底Edge 和Chrome浏览器将移除 Flash 组件这里帮你总结了一下Linux下查看内存使用情况的多种方法~Linux查看内存命令及其对命令显示的解释试用了Edge浏览器20分钟后,我还是选择了Chrome这就是全新的Windows!来看Windows10X抢先上手体验
- Linux下RPM软件包的安装及卸载Linux查看环境变量当前信息和查看命令这里帮你总结了一下Linux下查看内存使用情况的多种方法~如何在Linux中查看所有正在运行的进程Linux查看内存命令及其对命令显示的解释转手赚1000,开源抢茅台神器,真香!2020最受欢迎的Linux发行版Top 10强大的测速工具发特供版!Speedtest中国版体验
订阅专栏+更多
-
云原生架构实践
新技术引领移动互联网进入急速赛道共3章 | KaliArch27人订阅学习
-
数据中心和VPDN网络建设案例
漫画+案例共20章 | 捷哥CCIE189人订阅学习
-
搭建数据中心实验Lab
实验平台Datacenter共5章 | ITGO(老曾)119人订阅学习
视频课程+更多
-
【范昌明】从零开始系列-Project 2010视频课
讲师:范昌明196520人学习过
-
Spring Boot + Bootstrap开发小而完整web项目
讲师:江成军29532人学习过
-
清华编程高手尹成带你实战python
讲师:尹成83376人学习过
- 精选博文
- 论坛热帖
-
订阅51CTO邮刊
点击这里查看样刊

51CTO服务号

51CTO官微