【银河麒麟高级服务器操作系统】实际案例分析,xfsaild占用过高

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

相关推荐
KeeBoom1 分钟前
嵌入式 Linux 应用开发完全手册——阅读笔记14
linux·笔记
看世界的小gui3 分钟前
Jenkins通过CAS接入Maxkey单点登陆
运维·jenkins
软件资深者4 分钟前
免费的2026网刻工具, 轻松解决局域网电脑批量还原问题
运维·服务器·负载均衡
进击切图仔6 分钟前
新装 Ubuntu 20.04.6 中安装 ssh.server 功能
linux·ubuntu·ssh
A-刘晨阳9 分钟前
K8S 部署 CoreDNS 之 DNS 域名获取
运维·云原生·容器·kubernetes·dns·coredns
爱内卷的学霸一枚13 分钟前
现代DevOps实践:从CI/CD到GitOps的深度技术解析
运维·ci/cd·devops
松涛和鸣15 分钟前
69、Linux字符设备驱动实战
linux·服务器·网络·arm开发·数据库·驱动开发
新缸中之脑17 分钟前
在Docker中运行OpenClaw
运维·docker·容器
女王大人万岁18 分钟前
Go语言JSON标准库(encoding/json):功能解析与实战指南
服务器·开发语言·后端·golang·json
TangDuoduo000518 分钟前
【Linux下LED基础设备驱动】
linux·驱动开发