使用top查看进程累积CPU时间需关注TIME+列(默认显示,单位1/100秒),按Shift+T可按其降序排序;若TIME+异常,可用top -S启用累计模式;批量采集用top -b -n 3 -d 5 > cpu_time.log。

直接用 top 查看进程的累积 CPU 运行时间,关键在于启用“累计模式”并关注 TIME+ 列。
确认 TIME+ 列是否显示
TIME+ 是默认显示的列,代表进程自启动以来占用 CPU 的总时间(单位为 1/100 秒)。只要没被隐藏,它就在进程列表最右侧。如果看不到,可能是列被截断或排序方式影响了显示位置——按 F 键进入字段选择界面,确保 TIME+ 已勾选(* 号标记)且位置靠前。
启用累计模式(-S 参数)
默认情况下,%CPU 显示的是最近采样周期内的瞬时使用率,而 TIME+ 本身已是累计值,无需额外开启。但若发现 TIME+ 增长异常缓慢或始终为 0,可能因内核未启用调度统计。此时可加 -S 参数强制以累计方式计算:
Linux 性能分析与调优专家,覆盖 CPU、内存、磁盘 I/O、网络、内核参数、编译优化、容器/K8s。适用场景:系统卡顿/高负载、内存不足/OOM/Swap 高、CPU 异常/iowait 高。
-
top -S:启动时即启用累计模式 -
top -S -n 1:只刷新一次后退出,适合脚本中抓取快照
按 TIME+ 排序快速定位高耗时进程
交互式操作更直观:运行 top 后,按 Shift + T(大写 T),即可按 TIME+ 降序排列——排在最上面的,就是历史上 CPU 占用时间最长的进程。再按一次恢复默认排序。
导出长时间运行的进程记录
若需分析历史趋势,可用批处理模式保存多轮数据:
-
top -b -n 3 -d 5 > cpu_time.log:每 5 秒采样一次,共 3 次,结果追加到文件 - 之后用
awk '{print $10, $12}' cpu_time.log | grep -v "TIME+"提取 PID 和 TIME+ 值做对比

















