linux系统cpu使用率单核显示问题
目录
一、问题场景
二、问题产生原因以及解决办法
1. 出现原因
2. 解决办法
2.1 设置solaris mode
2.2 保存默认设置为 solaris mode
一、问题场景
使用top查看linux的性能指标,结果出现进程的CPU占用率超出100%却没有卡顿现象,感觉很不科学
1 | 想提取linux服务器的进程使用率,通过ps -eo %cpu,ppid,cmd,pid --sort=-%cpu | head -6 和 top -b 两种方法提取,但是遇到一个问题就是取出来的进程有时候是100%+,对于现实和不动的人就不太友好了 |
二、问题产生原因以及解决办法
1. 出现原因
% cpu 是表示单核 cpu 的占用率, 而不是占用所有 cpu 的占用率。可以通过按1查看系统是否有多个CPU
果然,我的机器的CPU是双核的:%Cpu0,%Cpu1!
也可以输入以下命令,查看CPU信息:
cat /proc/cpuinfo
原因:
假如进程CPU使用率是150%,只说明使用了1.5个CPU的占用,但是设备可能是64核心,所以实际只占用了1.5/64。完全不用担心也不影响使用
2. 解决办法
2.1 设置solaris mode
若想这里显示的%CPU的数据是全部cpu核的使用率,而不是单核,可以通过切换solaris mode模式。
- irix mode 和 Solaris mode两种模式可以通过I(大写i)切换,默认为irix mode
- 对于%cpu这一项在irix mode下,%cpu 就是只计算一个cpu核心,100%代表一个cpu核心达到100%负载,此时如果你有4个核心,就需要除以4
- 对于solaris mode 在irix的基础上除以cpu个数
2.2 保存默认设置为 solaris mode
- 可以用shift + I键切换到Solaris mode,然后用Shift + W键保存到~/.toprc中,这样下次就不需要再手动切换,top命令启动时将读取~/.toprc文件中的配置,自动使用solaris模式。
- 将toprc文件复制到/etc/toprc文件下,则系统全局使用该文件。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫