Linux 系统中怎么使用 top 命令结合字段排序定位 CPU 耗尽者

陌芳姑娘_6194

陌芳姑娘_6194

2026-10-03

591人浏览

原创

直接用top命令就能快速定位cpu占用最高的进程,这是最常用、最有效的第一步;它默认按%cpu降序排列,排在最上面的就是当前最“吃”cpu的进程,结合%cpu(s)行中us/sy/wa等指标可区分真实瓶颈。

linux 系统中怎么使用 top 命令结合字段排序定位 cpu 耗尽者

直接用 top 命令就能快速定位 CPU 占用最高的进程,这是最常用、最有效的第一步。它默认按 %CPU 降序排列,排在最上面的就是当前最“吃” CPU 的进程。

看懂 top 头部的 CPU 状态行

启动 top 后,第三行显示类似 %Cpu(s): 12.5 us, 3.1 sy, 0.0 wa, 84.4 id 的信息。这不是进程数据,而是系统整体 CPU 时间分配快照:

  • us:用户态程序(如 Java、Python、Nginx)占用 CPU 的比例;长期高于 70% 表明业务逻辑密集
  • sy:内核态时间,高 sy 通常意味着频繁系统调用(如大量小文件读写、内存分配)
  • wa:等待磁盘或网络 I/O,此时 %CPU 可能不高,但系统响应慢,不能只盯 %CPU
  • id:空闲时间,低于 10% 就该介入排查了

确保按 %CPU 正确排序并聚焦目标进程

虽然 top 默认按 CPU 排序,但实际使用中容易被误切到其他字段。稳妥做法是:

Alpine Linux
Alpine Linux

获取最新发布版本;聚合最新版本架构

下载
  • 运行 top 后,直接按大写 P 键(注意大小写敏感),强制按 %CPU 降序重排
  • 按 Shift+H 切换线程视图(显示 LWP 列),可发现某个进程 %CPU 很高,但其实是其中某条线程在霸占资源
  • 按 u 输入用户名(如 www-data 或 java),快速过滤非业务进程,避免被系统守护进程干扰
  • 按 O 进入字段排序菜单,输入 P 再次确认排序依据为 %CPU,防止误操作导致排序失效

结合关键字段识别真实问题进程

进程列表中不光要看 %CPU,还要交叉验证其他字段才能判断是否真有问题:

  • PID 和 %CPU:最直观指标,但需结合 TIME+ 判断——TIME+ 很小而 %CPU 突然冲高,可能是短时任务,未必异常
  • STATE(S/R/D/Z):R 表示运行中,D 表示不可中断睡眠(常卡在 IO),Z 是僵尸进程(不耗 CPU,但会占 PID)
  • PR/NI:低 PR(如 0–10)表示高优先级,可能更“抢” CPU;若 NI 为负值,说明被手动提权过
  • COMMAND:按 c 键展开完整命令行,能看清是 java -jar app.jar 还是 python3 sync.py,便于后续归因

定位后别急着 kill,先做轻量诊断

找到可疑 PID(比如 12345)后,建议按顺序执行以下几步再决定是否终止:

  • 查线程分布:top -Hp 12345,看是否单一线程占满(如 99.5%),再记下高负载线程 ID(LWP)
  • 转十六进制并查 Java 栈:printf "%x\n" 12345 → jstack 12345 | grep -A 10 "nid=0x[hex]"
  • 看内核栈(需 root):cat /proc/12345/stack,若停在 mutex_lock 或 wait_event,说明卡在锁或等待事件
  • 统计系统调用:strace -p 12345 -c -s 64 -T 2(运行 2 秒),观察是否高频 futex、read、write

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

437

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

880

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

2612

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

876

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

769

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

394

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2376

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

4372

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

707

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习