千家信息网

遇见Linux系统CPU使用率过高怎么办?

发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,导读对于新手来说,可能各种进程管理工具用的还不算熟悉,那么遇见 Linux系统CPU系统使用率过高怎么办?那么就学习一下吧。查看CPU使用在 Linux 系统下,使用 top 命令查看 CPU 使用情
千家信息网最后更新 2024年09月22日遇见Linux系统CPU使用率过高怎么办?
导读对于新手来说,可能各种进程管理工具用的还不算熟悉,那么遇见 Linux系统CPU系统使用率过高怎么办?那么就学习一下吧。

查看CPU使用

在 Linux 系统下,使用 top 命令查看 CPU 使用情况。

%Cpu(s): 0.3 us, 0.1 sy, 0.0 ni, 99.6 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st

CPU各类型占用详解:

  • us(user):表示 CPU 在用户运行的时间百分比,通常用户 CPU 高表示有应用程序比较繁忙。典型的用户程序有:数据库、Web 服务器等。
  • sy(sys):表示 CPU 在内核态运行的时间百分比(不包括中断),通常内核态 CPU 越低越好,否则表示系统存在某些瓶颈。
  • ni(nice):表示用 nice 修正进程优先级的用户进程执行的 CPU 时间。nice 是一个进程优先级的修正值,如果进程通过它修改了优先级,则会单独统计 CPU 开销。
  • id(idle):表示 CPU 处于空闲态的时间占比,此时,CPU 会执行一个特定的虚拟进程,名为 System Idle Process。
  • wa(iowait):表示 CPU 在等待 I/O 操作完成所花费的时间,通常该指标越低越好,否则表示 I/O 存在瓶颈,可以用 iostat 等 命令做进一步分析。
  • hi(hardirq):表示 CPU 处理硬中断所花费的时间。硬中断是由外设硬件(如键盘控制器、硬件传感器等)发出的,需要有中断控制器参与,特点是快速执行。
  • si(softirq):表示 CPU 处理软中断所花费的时间。软中断是由软件程序(如网络收发、定时调度等)发出的中断信号,特点是延迟执行。
  • st(steal):表示 CPU 被其他虚拟机占用的时间,仅出现在多虚拟机场景。如果该指标过高,可以检查下宿主机或其他虚拟机是否异常。
排查用户 CPU 使用率高

用户 CPU 使用率反映了应用程序的繁忙程度,通常与我们自己写的代码息息相关。
操作步骤:
1)、通过 top 命令找到 CPU 消耗最多的进程号;

2)、通过 top -Hp 进程号命令找到 CPU 消耗最多的线程号(列名仍然为 PID);

3)、通过printf "%x\n" 线程号命令输出该线程号对应的 16 进制数字;

4)、PID进程在内核调用情况。如果是Java应用可通过 jstack 进程号 | grep 16进制线程号 -A 10 命令找到 CPU 消耗最多的线程方法堆栈。

非 Java 应用可使用 perf查看:

perf top -p 7574

如果提示perf: command not found,使用yum install perf安装。

perf是Linux 2.6+内核中的一个工具,在内核源码包中的位置 tools/perf。
perf利用Linux的trace特性,可以用于实时跟踪,统计event计数(perf stat);或者使用采样(perf record),报告(perf report|script|annotate)的使用方式进行诊断。

本文原创地址: https://www.linuxprobe.com/linux-cpu-top.html

进程 时间 命令 用户 内核 线程 系统 程序 应用 使用率 优先级 消耗 繁忙 工具 应用程序 情况 指标 控制器 是由 特点 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 万网轻云服务器怎么样 英雄联盟服务器一直未响应 郑州哪里有计算机网络技术专业 柳州软件开发培训 长春学习软件开发的学校 网络安全是不是新领域 企业不选择独立服务器的三个理由 日常办公需要建数据库吗 服务器网卡有单模和多模区分吗 浦东新区综合软件开发信息中心 老头环服务器连不上 mvbbs panda服务器 物易网络技术有限公司 mc服务器远程管理器 蒂森克虏伯电梯服务器怎么呼梯 深圳erp软件开发要多少钱 打游戏网络安全 行政服务中心的网络安全等级 明朝思维导图软件开发 信阳息县软件开发技术培训 惠州支付软件开发咨询 成都网络安全薪资 服务器管理是干什么的 数据库两个字段设置唯一索引 专门生产国家网络安全基地 永久免费云服务器安全吗 延庆区网络技术咨询包括 csgo不在安全服务器商 优房天津网络技术有限公司邮编 国内比较好的软件开发社区
0