Linux主机CPU使用率100%,内核态占60%

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux主机CPU使用率100%,内核态占60%相关的知识,希望对你有一定的参考价值。

场景描述

主机负载异常,cpu使用率从16点多之后一直是100%,进去主机top查看内核空间占用CPU百分比在60%以上

问题原因分析

使用top命令查看cpu使用率100%,内核态占60%,平均负载达到120,通过H查看线程情况未发现异常进程<br> 通过whereis top查看top命令路径,通过ls -l /bin/top查看top命令修改日期未发现异常<br> 通过pidstat -W查看上下文切换未发现异常<br> 通过vmstat -s -S M 查看内存详细信息发现inactive占用3.4G,可用内存160M,可用内存较少<br> 通过iostat 查看io使用率较低<br> 通过tail -n 100 /var/log/message未发现相关异常<br> 通过ps -eTo stat,command |sed -n /^[D,R]/p 查看此刻处于可运行和不可中断态进程,发现大量php进程<br> 通过journalctl -k查看内核日志,发现文件描述符达到cgroup上限<br> 由此可以判断出cpu使用率百分百的原因是由于php服务持续不断地申请文件描述符,但系统中的文件描述符数量在15:56分时达到上限,此时php服务无法申请到所需资源开始陷入死循环导致cpu使用率100%。<br>

解决方案

通过sysctl -w fs.file-max=999999 临时修改文件描述符数量限制。并建议开发优化代码逻辑,并调整fs.file-max文件描述符数量限制以彻底解决

以上是关于Linux主机CPU使用率100%,内核态占60%的主要内容,如果未能解决你的问题,请参考以下文章

docker 如何使用其主机操作系统的 CPU 内核?

Linux脚本练习之script026-显示当前主机系统信息,包括主机名,IPv4 地址,操作系统版本,内核版本,CPU 型号,内存大小,硬盘大小。

Linux RT 进程引发内核频繁卡死的优化方案

win10cpu占用100%怎么办

Node 是不是使用 100% CPU?

Qt QTableView paint() 事件无限期交付,消耗 1 个 CPU 内核的 100%