了解银河麒麟操作系统更多全新产品,请点击访问麒麟软件产品专区:https://product.kylinos.cn
服务器环境及配置
|----------|-------------------------------------------------------------------|
| 物理机/虚拟机 | 物理机 |
| 处理器: | Intel(R) Xeon(R) Silver 4110 CPU @ 2.10GHz |
| 内存: | 65536 MiB (64 GiB) |
| 主板型号: | HPE ProLiant DL380 Gen10 Not Specified |
| 整机类型/架构: | x86 |
| BIOS版本: | HPE U30 |
| 系统硬盘: | 2 disks, totaling 2515 GiB (2.46 TiB) |
| 网卡: | BCM5719:tg3 |
| 操作系统版本: | 银河麒麟高级服务器操作系统 Kylin-Server-10-SP2-Release-Build09-20210524-x86_64 |
| 内核版本 | 4.19.90-24.4.v2101.ky10.x86_64 |
现象分析
查看 sosreport 日志中的进程信息,可以看到,xfsaild/sda4为不可中断进程,并且cpu占用高的为abrtd 进程。
由于现场有两台机器存在这个问题,另外一台机器复现频率较高,我们从另外一台入手。
现场 iotop 结果如下,可见占用最高的为内核线程 xfsaild/sda4
两台 ps 信息都是 xfsaild/sda4进入了D状态,xfsaild 是xfs文件系统的一个辅助进程,用于异步执行一些I/O操作,如延迟分配,元数据同步等,此处可以看到是对 sda4 进行操作。并且占用最高 cpu 进程为 abrtd,Abrtd服务在sp2没有被默认安装,在sp2上,用于生成进程的核心转储文件(core dump)的组件为systemd-coredump。abrtd的频繁报告,可能会加大磁盘的负载。
sda4 为系统的根分区,用的调度算法为none,据现场说都是机械盘,跑的是nginx 业务,如果是机械盘建议调度算法为mq-deadline而不是设置为none。
并且注意到rasdaemon和audit服务有缺陷,具体可以参考官网https://www.kylinos.cn/support/update/6.html、https://www.kylinos.cn/support/update/12.html
初步建议
1、修改sda磁盘调度算法为mq-deadline。
|------------------------------------------------------------|
| Shell echo "mq-deadline" > /sys/block/sda/queue/scheduler |
2、如对abrtd服务没特殊需求,可关闭abrtd服务
|------------------------------------------------------------------------------|
| Shell systemctl disable abrtd --now # 注意,停止后确保abrt进程全部停掉 ps -ef | grep abrt |
3、升级audit到源里面最新版本,升级后重启auditd.service生效
|----------------------------------------|
| Shell systemctl restart auditd.service |
4、升级rasdaemon到源里面最新版本,升级后重启rasdaemon.service生效
|-------------------------------------------|
| Shell systemctl restart rasdaemon.service |