Linux服务器带宽和CPU跑满或跑高排查

CPU 负载查看方法

使用 vmstat 查看系统纬度的 CPU 负载

使用 top 查看进程纬度的 CPU 负载

使用 vmstat 查看系统纬度的 CPU 负载

可以通过 vmstat 从系统维度查看 CPU 资源的使用情况。

用法说明:

格式:vmstat -n 1# -n 1 表示结果一秒刷新一次。示例输出:$ vmstat -n 1procs —————-memory————— —-swap— ——-io—— -system— ———cpu——- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 70352 169448 448452 0 0 0 4 10 11 0 0 99 0 0 0 0 0 70376 169448 448484 0 0 0 0 175 406 0 0 100 0 0 0 0 0 70376 169448 448484 0 0 0 0 173 414 0 1 99 0 0 0 0 0 70376 169448 448484 0 0 0 128 212 429 3 0 96 1 0^C

回显说明:

返回结果中的主要数据列说明:

r: 表示系统中 CPU 等待处理的线程。由于 CPU 每次只能处理一个线程,所以,该数值越大,通常表示系统运行越慢。

us:用户模式消耗的 CPU 时间百分比。该值较高时,说明用户进程消耗的 CPU 时间比较多,比如,如果该值长期超过 50%,则需要对程序算法或代码等进行优化。

sy:内核模式消耗的 CPU 时间百分比。

wa:IO 等待消耗的 CPU 时间百分比。该值较高时,说明 IO 等待比较严重,这可能磁盘大量作随机访问造成的,也可能是磁盘性能出现了瓶颈。

id:处于空闲状态的 CPU 时间百分比。如果该值持续为 0,同时 sy 是 us 的两倍,则通常说明系统则面临着 CPU 资源的短缺。

使用 top 查看进程纬度的 CPU 负载

可以通过 top 从进程纬度来查看其 CPU、内存等资源的使用情况。

用法说明:

格式:top示例输出:top - 17:27:13 up 27 days, 3:13, 1 user, load average: 0.02, 0.03, 0.05Tasks: 94 total, 1 running, 93 sleeping, 0 stopped, 0 zombie%Cpu(s): 0.3 us, 0.1 sy, 0.0 ni, 99.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.1 stKiB Mem: 1016656 total, 946628 used, 70028 free, 169536 buffersKiB Swap: 0 total, 0 used, 0 free. 448644 cached Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1 root 20 0 41412 3824 2308 S 0.0 0.4 0:19.01 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.04 kthreadd

回显说明:

默认界面上第三行会显示当前 CPU 资源的总体使用情况,下方会显示各个进程的资源占用情况。

可以直接在界面输入大小字母 P,来使监控结果按 CPU 使用率倒序排列,进而定位系统中占用 CPU 较高的进程。最后,根据系统日志和程序自身相关日志,对相应进程做进一步排查分析,以判断其占用过高 CPU 的原因。

操作案例

使用 top 直接终止 CPU 消耗较大的进程

如前面所述,可以通过 top 命令查看系统的负载问题,并定位耗用较多 CPU 资源的进程。

可以直接在 top 运行界面快速终止相应的异常进程。说明如下:

想要终止某个进程,只需按下小写的 k 键。

输入想要终止的进程 PID (top 输出结果的第一列)。比如,如下图所示,假如想要终止 PID 为 23 的进程,输入 23 后按回车。

如下图所示,操作成功后,界面会出现类似 “Send pid 23 signal [15/sigterm]” 的提示信息让用户进行确认。按回车确认即可。

CPU 使用率较低但负载较高

问题描述:

Linux 系统没有业务程序运行,通过 top 观察,类似如下图所示,CPU 很空闲,但是 load average 却非常高:

处理办法:

load average 是对 CPU 负载的评估,其值越高,说明其任务队列越长,处于等待执行的任务越多。

出现此种情况时,可能是由于僵死进程导致的。可以通过指令 ps -axjf 查看是否存在 D 状态进程。

D 状态是指不可中断的睡眠状态。该状态的进程无法被 kill,也无法自行退出。只能通过恢复其依赖的资源或者重启系统来解决。

kswapd0 进程占用 CPU 较高

操作系统都用分页机制来管理物理内存,操作系统将磁盘的一部分划出来作为虚拟内存,由于内存的速度要比磁盘快得多,所以操作系统要按照某种换页机制将不需要的页面换到磁盘中,将需要的页面调到内存中,由于内存持续不足,这个换页动作持续进行,kswapd0是虚拟内存管理中负责换页的,当服务器内存不足的时候kswapd0会执行换页操作,这个换页操作是十分消耗主机CPU资源的。如果通过top发现该进程持续处于非睡眠状态,且运行时间较长,可以初步判定系统在持续的进行换页操作,可以将问题转向内存不足的原因来排查。

问题描述:

kswapd0 进程占用了系统大量 CPU 资源。

处理办法:

Linux 系统通过分页机制管理内存的同时,将磁盘的一部分划出来作为虚拟内存。而 kswapd0 是 Linux 系统虚拟内存管理中负责换页的进程。当系统内存不足时,kswapd0 会频繁的进行换页操作。而由于换页操作非常消耗 CPU 资源,所以会导致该进程持续占用较高 CPU 资源。

如果通过 top 等监控发现 kswapd0 进程持续处于非睡眠状态,且运行时间较长并持续占用较高 CPU 资源,则通常是由于系统在持续的进行换页操作所致。则可以通过 free 、ps 等指令进一步查询系统及系统内进程的内存占用情况,做进一步排查分析。

linux监控任务跑满,Linux服务器带宽和CPU跑满或跑高排查相关推荐

  1. Linux系统如何查看服务器带宽及网络使用情况

    文章目录 前言   linux查看服务器带宽具体方法   一.使用speedtest-cli命令查看下载和上传最大流量值   二.查看网卡.网络的详情    1.查看服务器网络端口    2.etht ...

  2. LINUX类主机JAVA应用程序占用CPU、内存过高分析手段

    本文转载 线上应用故障排查之一:高CPU占用 DBA+社群(dbaplus)丁启良 1. 应用程序占用资源高问题 目前大部分应用程序采用的是JAVA语言开发,在产品上线使用一段时间后,经常会出现某个J ...

  3. window服务器cpu过高的排查_生产服务器CPU占用率过高排查过程

    一.问题详情 现象:API接口访问耗时过长,排查发现当前节点内存使用3.9G,CPU占用率295%. 当前节点已两周没发版,怀疑内存没有释放,可能是JVM垃圾回收的问题. 二.排查过程 1.定位问题进 ...

  4. cpu使用时间百分比过高 排查

    参考:http://my.oschina.net/hyp3/blog/133617 问题分析: 1,程序属于CPU密集型,和开发沟通过,排除此类情况.   2,程序代码有问题,出现死循环,可能性极大. ...

  5. 网站服务器带宽2m怎么样,云服务器带宽2m够用吗

    云服务器带宽2m够用吗 内容精选 换一换 当您发现云服务器的运行速度变慢或云服务器突然出现网络断开的情况,则可能是云服务器的带宽和CPU利用率过高导致.如果您已经通过云监控服务创建过告警任务,当CPU ...

  6. 网站服务器带宽2m怎么样,云服务器2m带宽够用吗

    云服务器2m带宽够用吗 内容精选 换一换 SAP HANA运行在HANA云服务器上,需创建两台HANA云服务器,用于部署SAP HANA软件.根据界面提示配置参数,确认填写信息无误之后,阅读并勾选&l ...

  7. 如何查看服务器内存及cpu信息,查看服务器当前内存cpu信息

    查看服务器当前内存cpu信息 内容精选 换一换 设备实时状态查询是检测设备在运行过程中的状态信息.用户可任选以下指令之一查看设备实时状态查询命令的可用参数.ascend-dmi -i -hascend ...

  8. compattelrunner.exe占用磁盘过高_Linux 系统 CPU 占用率太高?

    在使用Linux 系统时,经常会遇到 CPU 占用率太高的问题.此篇文章教你如何解决,排查解决的思路是什么 CPU负载查看方法: 使用vmstat查看系统维度的CPU负载 使用top查看进程维度的CP ...

  9. Linux/Centos服务器带宽异常跑满的排查解决办法

    客服反馈服务器带宽满.之前每天10M就够了,现在20/30都不够,而且是升级到多少,就满多少,包括晚上3/4点都是一直满. 首先需要确定是哪一张网卡的带宽跑满 可以通过sar -n DEV 1 5命令 ...

最新文章

  1. 了解黑客的关键工具---揭开Shellcode的神秘面纱
  2. linux卸载dev中的设备,Linux /dev 常见特殊设备介绍与应用
  3. Google JAVA编程风格
  4. Android 应用内存优化 之 onLowMemory onTrimMemory
  5. Python中使用turtle绘制多个同心圆
  6. 2.4操作系统之死锁详解(预防、避免、检测、解除)+思维导图
  7. 机器学习算法总结--随机森林
  8. TiDB集群大规模删除实践
  9. 在linux下挂载ios镜像文件,linux下挂载iso镜像文件
  10. Overview of HEVC之5 帧间预测
  11. 语音识别软件_语音识别软件是什么_离线语音识别软件_企业服务汇
  12. linux查看系统版本_谈一谈在Linux中使用df命令查看文件系统
  13. PHP 基于 SW-X 框架,搭建RPC微服务支持
  14. 计算机一级wps题库及答案,全国计算机一级《WPS》选择题题库及答案2016
  15. 分析在各大考纲词汇中既没有词根也没有前缀和后缀的独立单词
  16. 关于ramp texture的使用
  17. Oracle数据库安装配置
  18. 数据结构之 二叉树的存储和遍历总结
  19. 记录一次糟心的pyinstall安装经历
  20. 电子电路测试软件,清华大学出版社-图书详情-《电子电路软件仿真实验教程》...

热门文章

  1. 技术+案例详解无监督学习Autoencoder
  2. 手把手带你做LiteOS的树莓派移植
  3. 从JAVA内存到垃圾回收,带你深入理解JVM
  4. 云服务的可服务性经典6问
  5. 【华为云技术分享】漫谈LiteOS-Huawei_IoT_Link_SDK_OTA 开发指导
  6. Spark之StructuredStreaming
  7. java 嵌套类: Nested classes
  8. Java NIO AIO编程
  9. 关于VGG模型文件的存放位置
  10. poj 2387 Til the Cows Come Home dijkstra