如何定位占用近100%CPU的hwrng使用进程?
如何定位占用近100%CPU的hwrng使用进程?
嗨,我来帮你捋捋怎么揪出这个占用CPU的hwrng相关进程~ 你已经试过lsof和ps这些常规工具了,从你给出的输出来看,PID为62的进程就是名为hwrng的进程,但它的可执行文件显示为unknown,这大概率是内核线程,或者是进程的可执行文件已经被删除/找不到了。给你几个额外的排查方向:
- 先看看这个进程的详细信息:执行
ps auxf | grep hwrng或者ps -ef | grep 62,能看到进程的启动参数、父进程ID这些信息,说不定能找到它的源头 - 查看进程的线程级占用:用
top -H -p 62,这个命令会展示PID62进程下的所有线程,能精准看到是哪个线程在疯狂消耗CPU - 查看进程的内核态信息:执行
cat /proc/62/status,里面的State、Name、PPid等字段能帮你判断它是不是内核线程,以及它的父进程是谁 - 查内核日志找线索:运行
dmesg | grep hwrng,看看内核有没有记录哪些模块或者进程在调用hwrng硬件资源 - 分析CPU消耗的具体函数:用
perf top -p 62(需要先安装perf工具),这个工具能实时展示进程里占用CPU最高的函数,帮你定位具体是哪部分逻辑在跑满CPU - 如果是systemd管理的系统,试试
systemctl status hwrng,看看有没有相关的服务在运行
附上你已经尝试过的命令输出:
lsof -p 62输出
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME hwrng 62 root cwd DIR 179,2 4096 2 / hwrng 62 root rtd DIR 179,2 4096 2 / hwrng 62 root txt unknown /proc/62/exe
lsof | grep hwrng输出
hwrng 62 root cwd DIR 179,2 4096 2 / hwrng 62 root rtd DIR 179,2 4096 2 / hwrng 62 root txt unknown /proc/62/exe
备注:内容来源于stack exchange,提问作者Christian
相关产品推荐
相关产品推荐

