【银河麒麟服务器操作系统】系统夯死分析及处理建议

了解银河麒麟操作系统更多全新产品,请点击访问麒麟软件产品专区:https://product.kylinos.cn

服务器环境以及配置

【机型】物理机

|----------|--------|
| 处理器: | Intel |
| 内存: | 512G |
| 整机类型/架构: | X86_64 |

【内核版本】

4.19.90-25.26.v2101.ky10.x86_64

【OS镜像版本】

银河麒麟Kylin-Server-10-SP2-Release-Build09-20210524-x86_64

【第三方软件】

TDSQL

现象描述

服务器在13:40左右发生夯死现象。初步排查系统日志,发现系统日志记录了oom问题,但是当时并没有重启系统,系统cpu急剧增加,最终系统夯死。数据库已提供数据库层面分析报告,需要系统层面再进行问题分析排查。

问题分析

分析系统日志,已知,系统重启时间为2024-03-11 15:18:23,故障时间在2024-03-09 13:46:32左右,如图1和图2:

图1

图2

分析系统性能日志,可以看到,2024-03-09 13:10到13:41分钟左右这个时间段内,CPU %system使用率异常高,表示 CPU 在内核运行的时间多,包括 IRQ 和 softirq。系统CPU占用越高,表明系统某部分存在瓶颈。如图3:

图3

分析系统CPU性能情况和负载,可知,故障时间内,系统负载比较高。在每秒创建的进程数(proc)不多的情况下,每秒cswch自愿上下文切换的次数也很高,说明I/O、内存等系统资源不足。如图4和图5:

图4

图5

分析内存使用情况,可知,故障时间段内,系统物理内存使用率正常,未到50%。但是,查看内存交换swap,可以看到每秒从交换分区到系统的交换页面和每秒从系统交换到swap的交换页面数量异常增多,已经频繁使用到swap内存交换分区。如图6和图7:

图6

图7

分析系统磁盘IO使用情况,可知,故障时间段内,tps(每秒IO总数)和磁盘IO读写都有明显较大增量。查看磁盘具体IO读写情况,发现,磁盘设备dev8-0(sda)和dev253-1(swap)的%util占比高,说明I/O请求占用CPU多。如图8和图9:

图8

图9

查看vm.swappiness内核参数,已设置为0,表示最大限度使用物理内存,然后才是swap空间,配置,如图10:

图10

分析结果

综上,系统层分析过程,得出,此次系统夯住的原因,是swap内存交换分区异常使用,导致%system系统CPU使用率99%,无法正常分配使用CPU资源。

后续计划与建议

建议,下次遇到此故障情况,观察swap内存交换分区使用情况,排查异常占用swap的具体进程,再进一步分析。

swap进程占用,排查方法如下:

  1. 获取到的占用swap空间的进程,在当前目录下生成swap.log文件里查询

for i in `cd /proc;ls |grep "^[0-9]"|awk ' 0 \>100'\` ;do awk '/Swap:/{a=a+2}END{print '"i"',a/1024"M"}' /proc/i/smaps ;done |sort -k2nr > ./swap.log

  1. 第一列PID 第二列 swap空间占用大小 由高到低排序

cat ./swap.log

  1. 查询下是哪个服务占用的

ps aux | grep pid(swap占用高的)

相关推荐
程序员老舅9 分钟前
C++高并发精髓:无锁队列深度解析
linux·c++·内存管理·c/c++·原子操作·无锁队列
雨中风华22 分钟前
Linux, macOS系统实现远程目录访问(等同于windows平台xFsRedir软件的目录重定向)
linux·windows·macos
IvorySQL28 分钟前
PostgreSQL 分区表的 ALTER TABLE 语句执行机制解析
数据库·postgresql·开源
Yeats_Liao31 分钟前
评估体系构建:基于自动化指标与人工打分的双重验证
运维·人工智能·深度学习·算法·机器学习·自动化
爱吃生蚝的于勒1 小时前
【Linux】进程信号之捕捉(三)
linux·运维·服务器·c语言·数据结构·c++·学习
一只大侠的侠1 小时前
Flutter开源鸿蒙跨平台训练营 Day11从零开发商品详情页面
flutter·开源·harmonyos
The森1 小时前
Linux IO 模型纵深解析 01:从 Unix 传统到 Linux 内核的 IO 第一性原理
linux·服务器·c语言·经验分享·笔记·unix
一只大侠的侠1 小时前
React Native开源鸿蒙跨平台训练营 Day18自定义useForm表单管理实战实现
flutter·开源·harmonyos
文艺理科生Owen1 小时前
Nginx 路径映射深度解析:从本地开发到生产交付的底层哲学
运维·nginx
期待のcode1 小时前
Redis的主从复制与集群
运维·服务器·redis