Linux 服务器变慢诊断思路

收集整理文章

整机:top

load average:系统负载均衡,代表系统1分钟5分钟15分钟平均负载值,若三个值相加除以三乘以100%若高于60%则系统运行压力大。也可以用uptime命令查看系统性能精简信息
在top下不停按键盘1 会查看各cup运行状态
在这里插入图片描述

CPU:vmstat

在这里插入图片描述
查看所有cpu核信息:mpstat -P ALL 2
在这里插入图片描述
查看每个进程使用cpu的用量分解信息:pidstat -u 1 -p 进程编号 在这里插入图片描述

内存:free

命令:free -m
在这里插入图片描述

  • 经验值
    应用程序可用内存/系统物理内存>70% 内存充足
    应用程序可用内存/系统物理内存<20% 内存不足,需要增加内存
    20%<应用程序可用内存/系统物理内存<70% 内存基本够用
    查看进程内存使用:pidstat -p 进程号 -r 采样间隔秒数
    在这里插入图片描述

硬盘:df

查看硬盘使用情况:df -h
在这里插入图片描述

磁盘IO:iostat

在这里插入图片描述

进程磁盘io使用情况: pidstat - 进程号 -r 采样间隔秒数
在这里插入图片描述

网络IO:ifstat

在这里插入图片描述

java程序cup过高定位思路

1.先用top命令找出cpu占比最高的进程

2.定位到具体的线程或代码

ps-mp 进程编号 -o THREAD,tid,time(-m显示所有线程;-p pid 进程使用cpu时间;-o 用户自定义格式)
在这里插入图片描述

3.将需要的线程ID转换为16进制格式(英文小写) printf "%x\n" 进程id

4.jstack 定位到具体代码jstack 进程ID | grep tid(16进制线程id小写英文) -A60

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值