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

了解银河麒麟操作系统更多全新产品,请点击访问麒麟软件产品专区: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占用高的)

相关推荐
Ares-Wang4 小时前
Linux》》systemd 、service、systemctl daemon-reload、systemctl restart docker
linux·运维·docker
2301_822703206 小时前
开源鸿蒙跨平台Flutter开发:幼儿园作业管理系统:基于 Flutter 的沉浸式交互设计与认知发展追踪
flutter·开源·harmonyos
安审若无6 小时前
运维知识框架
运维·服务器
阿拉斯攀登6 小时前
从入门到实战:CMake 与 Android JNI/NDK 开发全解析
android·linux·c++·yolo·cmake
冬奇Lab7 小时前
一天一个开源项目(第68篇):DeerFlow - 字节跳动出品的深度研究与超级智能体框架
人工智能·开源·资讯
2301_764441337 小时前
claw-code:基于Claude Code架构的clean-room重写开源项目
人工智能·架构·开源
AI_零食7 小时前
开源鸿蒙跨平台Flutter开发:昼夜节律与睡眠相位-脑电波周期与最佳苏醒测绘架构
flutter·ui·华为·架构·开源·harmonyos·鸿蒙
Arvin6279 小时前
Nginx 添加账号密码访问验证
运维·服务器·nginx
diygwcom9 小时前
学习开源数据采集与监视控制SCADA-即工业组态开源框架FUXA
学习·开源
亚马逊云开发者9 小时前
Claude Code 接入开源模型实战:SageMaker 部署 Kimi/GLM + LiteLLM 路由降本 70%
开源