1.
vmstat工具,可以查看系统级别的负载情况,包括进程、内存、IO、CPU、系统调用等等
用法:vmstat [options] [delay [count]]
第一行是自上次reboot之后的平均负载,之后的输出是该delay时间段内的增量值(比如中断数、系统调用数等,但像是内存、cpu负载这些参数等就还是实时值)
输出示例:
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
2 0 8 266056 130176 1352704 0 0 294 35 665 1552 8 4 86 2 0
1 0 8 264356 130216 1354632 0 0 0 184 1958 2605 1 4 93 2 0
0 0 8 264248 130216 1354660 0 0 0 0 781 1364 1 1 99 0 0
参数解释:
Procs
r: The number of runnable processes (running or waiting for run time).
b: The number of processes in uninterruptible sleep.

Memory
swpd: the amount of virtual memory used.
free: the amount of idle memory.
buff: the amount of memory used as buffers.
cache: the amount of memory used as cache.
inact: the amount of inactive memory. (-a option)
active: the amount of active memory. (-a option)

Swap
si: Amount of memory swapped in from disk (/s).
so: Amount of memory swapped to disk (/s).

IO
bi: Blocks received from a block device (blocks/s).
bo: Blocks sent to a block device (blocks/s).

System
in: The number of interrupts per second, including the clock.
cs: The number of context switches per second.

CPU
These are percentages of total CPU time.
us: Time spent running non-kernel code. (user time, including nice time)
sy: Time spent running kernel code. (system time)
id: Time spent idle. Prior to Linux 2.5.41, this includes IO-wait time.
wa: Time spent waiting for IO. Prior to Linux 2.5.41, included in idle.
st: Time stolen from a virtual machine. Prior to Linux 2.6.11, unknown.
2.
使用ps命令列出cpu使用率最高的几个进程:
ps -eo pid,user,pcpu,command --sort=-pcpu | head -n 10
3.
查看进程的线程和线程占用的资源:
ps -Lp 1567284
top -H -p 1567284
4.
查看进程打开了哪些文件、套接字、设备、目录等:
lsof -n -p 403601 参数-n是不进行dns解析,-p指示进程号
5.
int ioctl(int fd, ind cmd, …)参数:
fd是用户程序打开设备时使用open函数返回的文件标示符,cmd是用户程序对设备的控制命令,至于后面的省略号,那是一些补充参数,一般最多一个,这个参数的有无和cmd的意义相关
6.
查cpu的中断数:
cat /proc/interrupts | awk '{print $25,$22,$29,$50}'

参考:
https://www.ibm.com/developerworks/community/blogs/aimsupport/entry/investigating_high_cpu_for_java_processes_on_linux_aix_hpux_solaris_windows_identifying_the_suspects?lang=en
https://www.tecmint.com/strace-commands-for-troubleshooting-and-debugging-linux/
https://www.howtoforge.com/linux-strace-command/

转载于:https://www.cnblogs.com/qxxnxxFight/p/11076687.html

进程占用过高cpu的排查相关推荐

  1. CPU占用过高问题的排查及解决

    CPU占用过高问题的排查及解决 排查步骤 1.使用top 定位到占用CPU高的进程PID      然后按shift+p按照CPU排序 2.查看Java进程里面的线程的占用情况 或者是再用ps -mp ...

  2. WmiPrvSE.exe是什么进程?WMI Provider Host占用很高CPU怎么办?

    WmiPrvSE.exe是什么进程?WMI Provider Host占用很高CPU怎么办? 时间:2018-01-06 来源:系统之家 作者:chunhua WmiPrvSE.exe是什么进程?WM ...

  3. svchost.exe占用过高CPU和内存的解决方案

    svchost.exe占用过高CPU和内存的解决方案 废话不多少,直接说怎么解决这个烦人的问题: 首先要找出究竟是哪个服务占用了这么多的资源,方法有两种 1) 用管理员身份打开cmd.exe,输入ta ...

  4. 高内存占用或高CPU占解决办法

    服务性能排查一般就两种:高内存占用或高CPU占用,需要具体问题具体分析.比如应用程序高内存占用,可能因为大文件读取.频繁IO,内存消耗频繁,导致频繁GC,进一步占用内存和CPU:比如应用程序高CPU占 ...

  5. mysql占用cpu_Mysql占用过高CPU时的优化手段(必看)

    Mysql占用CPU过高的时候,该从哪些方面下手进行优化? 占用CPU过高,可以做如下考虑: 1)一般来讲,排除高并发的因素,还是要找到导致你CPU过高的哪几条在执行的SQL,show process ...

  6. svchost.exe进程占用过高内存

    2019独角兽企业重金招聘Python工程师标准>>> 有时候打开电脑,反应特别慢,特别卡,查看任务管理器发现svchost.exe进程占用过高的百分比的CPU,很大的原因都是因为W ...

  7. searchIndexer.exe占用过高CPU

    1.searchIndexer.exe占用过高CPU很可能是Windows的索引损坏造成的. 这时候只要进入控制面板-索引选项-高级-重建即可解决 2. net stop "windows ...

  8. ps aux排序 (查看进程占用内存和cpu)

    查看进程占用内存和cpu: ps aux排序 按内存升序排列: ps aux --sort=+rss 按内存降序排列: ps aux --sort=-rss 按cpu升序排列: ps aux --so ...

  9. java 一次CPU占用过高问题的排查及解决,java基础面试笔试题

    我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索下图红色VX号,加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起 ...

最新文章

  1. 别以为真懂Openstack: 虚拟机创建的50个步骤和100个知识点(5)
  2. 关于伺服驱动控制的课本_西门子伺服电机驱动系列汇总,说明书参数及使用方法。...
  3. 汇编: mul乘法指令
  4. mysql的date函数可以干啥,MySql的Date函数
  5. 线上Bug无法复现怎么办?老司机教你一招,SpringBoot远程调试不用愁!
  6. python3精要(18)-函数主要概念
  7. C++设计模式--工厂方法模式
  8. 4行代码解决:L1-057 PTA使我精神焕发 (5分)
  9. 轻量级网络之mobilenet_v1
  10. C#中typeof 与GetType()的区别和methodinfo、memberinfo反射
  11. matlab如何把选中区域标亮
  12. java项目打jar包
  13. django settings 定义的变量不存在_使用Django部署机器学习模型(1)
  14. 2016年下半年《软件评测师》下午试卷及答案
  15. 拜托!不要用“ ! = null “ 做判空了
  16. 全国省市区表完整版(自己整理)
  17. 小迪渗透代码审计(柒)
  18. 零跑汽车冲刺港股:年营收31亿 去年曾募资88亿
  19. 上海电力学院计算机组成与结构试卷,数据结构
  20. 计算机应用课程思政的应用,计算机类课程思政改革——以“Office高级应用”课程为例...

热门文章

  1. linux 查看cuda版本_Ubuntu18.04+Tensorflow GPU版本环境搭建
  2. java jdbc 回滚_java_详解Java的JDBC API中事务的提交和回滚,如果JDBC连接是在自动提交模式 - phpStudy...
  3. 分类二级联动 php,学习猿地-php实现二级联动菜单
  4. 谁说 JavaScript 简单的?
  5. json在java中的使用_在Java中使用JSON
  6. 排序算法java快速排序_快速排序算法--Java实现
  7. 监测到本计算机上装有sql,检测局域网电脑是否有安装SQL Server数据库
  8. linux安装opencv让输入密码,linux下安装opencv的全过程(对初学者或者linux不熟悉的童鞋,非常适合)...
  9. linux实验报告一,linux实验报告
  10. Filter过滤器链(多个过滤器)