Linux下查看cup 内存 io使用情况 以CPU占用过高解决思路 主要分析我们实际环境中项目运行变慢

在这里插入图片描述

Top

执行top命令 查看整机的系统性能 主要是cpu和内存等的执行情况。
在这里插入图片描述
右上角load average(系统的负载均衡) 如果三个值相加除以100大于60%说明系统的压力大。

uptime

在这里插入图片描述

vmstat -n 2 3

查看cup的执行状态 每俩秒查看一次 采样3次
在这里插入图片描述
在这里插入图片描述
查看所有cpu核信息: mpstart -P ALL 2 (每俩s采样一次)
查看单个进程使用cup的用量分解信息: pidstat -u 1 -p 5101

在这里插入图片描述

free -m (查看系统的内存 以兆为单位)

在这里插入图片描述

在这里插入图片描述
查看某给进程内存使用情况: pidstat -p 进程号 -r 采样间隔秒数
在这里插入图片描述

查看硬盘 df -h ->(disk free h->人类看得懂得)

在这里插入图片描述

查看磁盘IO:iostat -xdk 2 3

主要看画圈地方

在这里插入图片描述
单个进程的磁盘IO
在这里插入图片描述

分析CUP占用过高的问题

  1. 先用top命令 找出来cup占用最高的。发现是我们的java程序
  2. ps -ef 或者 jps -l 进一步定位到我们的pid
  3. 定位到具体的线程或者代码 ps -mp 进程号 -o THREAD,tid,time。

找到具体对应的线程
在这里插入图片描述
4.jstack 进程ID | grep 线程id(16进制小写)-A60
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_36905956/article/details/105961709