服务器性能诊断和CPU占用过高处理

我不是女神ヾ 2022-11-07 13:11 355阅读 0赞

文章目录

  • 一、服务器性能诊断思路
    • 1.1 查看系统性能
    • 1.2 查看 CPU 性能
    • 1.3 查看内存使用情况
    • 1.4 查看磁盘情况
    • 1.5 查看磁盘 IO
    • 1.6 查看网络 IO
  • 二、CPU占用过高分析思路和定位

一、服务器性能诊断思路

1.1 查看系统性能

top:实时显示进程的动态
在这里插入图片描述
系统性能命令精简版update
在这里插入图片描述
load average平均值大于0.6说明系统负载出现了问题。

1.2 查看 CPU 性能

使用vmstat查看CPU性能,命令vmstat -n 2 3,第一个参数是采样的时间间隔数单位是秒,第二个参数是采样的次数。
在这里插入图片描述

  • r:运行等待CPU时间片的进程数,原则上1核的CPU运行队列不要超过2,整个系统的运行队列不能超过总核数的2倍,否则代表系统压力过大。
  • us:用户进程消耗CPU时间百分比,us值高,用户进程小号CPU时间多,如果长期大于50%,优化程序;
  • sy:内核进程消耗的CPU百分比;

查看所有cpu核信息命令mpstat,需安装sysstat
在这里插入图片描述
每个进程使用cpu的用量分解信息:
在这里插入图片描述

1.3 查看内存使用情况

使用free -m查看内存的使用情况,单位为MB
在这里插入图片描述

  • 应用程序可用内存/系统物理内存>70%内存充足;
  • 应用程序可用内存/系统物理内存<20%内存不足,需要增加内存;
  • 20%<应用程序可用内存/系统物理内存<70%内训基本够用。

1.4 查看磁盘情况

查看磁盘剩余空间数:df -h
在这里插入图片描述

1.5 查看磁盘 IO

在这里插入图片描述

1.6 查看网络 IO

在这里插入图片描述

二、CPU占用过高分析思路和定位

① 先用 top 命令找出 CPU 占比最高的
2021031215224215.png
② ps -ef 或者 jps 进一步定位
在这里插入图片描述
③ 定位到具体线程
命令:ps -mp 进程id -o THREAD,tid,time

参数说明:

  • -m:显示所有的线程
  • -ppid进程使用cpu的时间
  • -o:该参数后是用户自定义格式
    在这里插入图片描述

④ 使用 jstack 进行分析
命令:jstack进程ID | grep(16进制线程ID小写英文) -A60
在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,355人围观)

还没有评论,来说两句吧...

相关阅读