linux系统cpu占用过高故障排查

简介: 首先使用top命令查看cpu使用情况

20210127144445160.png首先使用top命令查看cpu使用情况

20210127142233352.png

属性释义


PID - 进程标示号

USER - 进程所有者

PR - 进程优先级

NI - 进程优先级别数值

VIRT - 进程占用的虚拟内存值

RES - 进程占用的物理内存值

SHR - 进程使用的共享内存值

S - 进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死

%CPU - 进程占用的CPU使用率

%MEM - 进程占用的物理内存百分比

TIME+ - 进程启动后占用的总的CPU时间

Command - 进程启动的启动命令名称


通过%cpu列就能看出cpu占用情况,现在找到罪魁祸首后就该杀的杀该关的关


关闭进程

执行top命令出现任务列表后,如果想关闭进程,直接按键盘上的K键

20210127143527106.png

此时会让你输入想要关闭进程的pid(任务列表第一列,如果不输入的话默认关闭排在第一的进程)


比如你想关闭上面图片中的“51466”进程,输入54166后按回车


切记!

切记!

切记!


这里输入数字时注意不要按小键盘,要按键盘字母区上面的那排数字键;


比如我们要关闭pid为2的进程,输入2后按回车,会出现以下提示,此时再按回车就ok

20210127144445160.png

注意

如果执行top命令后,发现没有cpu占用率较高的进程,这时候你就得看看load average

20210127145220279.png

这里会有三个数值


load average:0.98,1.37,1.48


释义:


第一位表示最近1分钟平均负载

第二位表示最近5分钟平均负载

第三位表示最近15分钟平均负载


数值分析


我们一般直接看第三位,如果不正常再去看前两位,看下有没有下降趋势,这个值越大说明当前阻塞的任务越多


对于单核处理器来讲,数值超过1就是不正常的


如果是多核处理器,一般来说数值数值也不会超过5,当然这个跟自己服务器cpu核心数有关,你可以通过lscpu查看自己的核心数(cpus列)

20210127150456759.png

我的服务器是56核,上面图中能看到我的load average:0.98,1.37,1.48,这个值是5秒刷新一次,我观察了下,不会超过2,基本上处于0.8-1.8范围内波动。


cpu高负载是由于当前等待执行的任务过多,一般就是因为某些任务依赖的服务挂了或者cpu资源不足,只能通过恢复阻塞任务依赖的服务,或者直接重启来解决。。。




相关文章
|
13天前
|
运维 Linux 虚拟化
Linux 查看 CPU 使用情况
在 Linux 系统中,查看 CPU 使用情况是性能分析和故障排查的重要环节。查看 CPU 使用情况,使用 top 命令或者 htop 命令来查看。
|
5天前
|
监控 Linux Python
Linux系统资源管理:多角度查看内存使用情况。
要知道,透过内存管理的窗口,我们可以洞察到Linux系统运行的真实身姿,如同解剖学家透过微观镜,洞察生命的奥秘。记住,不要惧怕那些高深的命令和参数,他们只是你掌握系统"魔法棒"的钥匙,熟练掌握后,你就可以骄傲地说:Linux,我来了!
67 27
|
9天前
|
Linux
Linux系统ext4磁盘扩容实践指南
这个过程就像是给你的房子建一个新的储物间。你需要先找到空地(创建新的分区),然后建造储物间(格式化为ext4文件系统),最后将储物间添加到你的房子中(将新的分区添加到文件系统中)。完成这些步骤后,你就有了一个更大的储物空间。
61 10
|
2月前
|
Linux
Linux系统之whereis命令的基本使用
Linux系统之whereis命令的基本使用
105 24
Linux系统之whereis命令的基本使用
|
18天前
|
Ubuntu Linux 应用服务中间件
Linux使用cpulimit对CPU使用率进行限制
cpulimit是一款简单易用的CPU使用率限制工具,支持对特定程序或整个CPU使用率进行限制。可通过源安装(如`yum`或`apt-get`)或编译安装获取。使用时,可针对程序名、进程号或绝对路径设置CPU占用上限(如`cpulimit -e xmrig -l 60 -b`)。ROOT用户可限制所有进程,普通用户仅限于权限范围内进程。注意,CPU百分比基于实际核心数(单核100%,双核200%,依此类推)。
48 7
|
21天前
|
存储 缓存 Linux
Linux系统中如何查看CPU信息
本文介绍了查看CPU核心信息的方法,包括使用`lscpu`命令和读取`/proc/cpuinfo`文件。`lscpu`能快速提供逻辑CPU数量、物理核心数、插槽数等基本信息;而`/proc/cpuinfo`则包含更详细的配置数据,如核心ID和处理器编号。此外,还介绍了如何通过`lscpu`和`dmidecode`命令获取CPU型号、制造商及序列号,并解释了CPU频率与缓存大小的相关信息。最后,详细解析了`lscpu`命令输出的各项参数含义,帮助用户更好地理解CPU的具体配置。
61 8
|
21天前
|
存储 运维 监控
深度体验阿里云系统控制台:SysOM 让 Linux 服务器监控变得如此简单
作为一名经历过无数个凌晨三点被服务器报警电话惊醒的运维工程师,我对监控工具有着近乎苛刻的要求。记得去年那次大型活动,我们的主站流量暴增,服务器内存莫名其妙地飙升到90%以上,却找不到原因。如果当时有一款像阿里云 SysOM 这样直观的监控工具,也许我就不用熬通宵排查问题了。今天,我想分享一下我使用 SysOM 的亲身体验,特别是它那令人印象深刻的内存诊断功能。
|
11天前
|
存储 NoSQL Linux
微服务2——MongoDB单机部署4——Linux系统中的安装启动和连接
本节主要介绍了在Linux系统中安装、启动和连接MongoDB的详细步骤。首先从官网下载MongoDB压缩包并解压至指定目录,接着创建数据和日志存储目录,并配置`mongod.conf`文件以设定日志路径、数据存储路径及绑定IP等参数。之后通过配置文件启动MongoDB服务,并使用`mongo`命令或Compass工具进行连接测试。此外,还提供了防火墙配置建议以及服务停止的两种方法:快速关闭(直接杀死进程)和标准关闭(通过客户端命令安全关闭)。最后补充了数据损坏时的修复操作,确保数据库的稳定运行。
41 0
|
3月前
|
存储 设计模式 监控
快速定位并优化CPU 与 JVM 内存性能瓶颈
本文介绍了 Java 应用常见的 CPU & JVM 内存热点原因及优化思路。
678 166
|
29天前
|
存储 设计模式 监控
如何快速定位并优化CPU 与 JVM 内存性能瓶颈?
如何快速定位并优化CPU 与 JVM 内存性能瓶颈?