定位性能瓶颈的常用命令

#以下总结了部分服务器性能及稳定性测试时,定位性能瓶颈的常用命令:

 

一、内存监控


free :查看内存使用情况

vmstat 3(间隔时间) 100(监控次数) :查看swap in/out 定位性能瓶颈

sar -r 3(间隔时间) :查看内存使用情况,不包含swap信息

 

二、CPU监控


ps -LP <pid> cu :按照<pid>的cpu消耗排序

cat /proc/cpuinfo | grep processor | wc -l :CPU核数

top :查看cpu总体消耗,及分项消耗如user,system,idle,nice等

其中配合使用:
显示java线程:shift + h 
Memory进行排序 : shift + M 
cpu进行排序 : shift + P 
cpu累积时间进行排序:shift + T 

top -H :按照CPU消耗高低进行排序

sar -u 3(间隔时间) :

sar -q :查看cpu load

top -b -n 1 | awk '{if(NR<=7)print;else if($8=="D"){print;count++}}END{print "Total status D : "count}' :计算cpu load中uninterruptedsleep数量

 

三、网络监控


cat /var/log/messages :内核日记,用于丢包查看

watch more /proc/net/dev :定位丢包,可关注drop,观察网络包传送总量是否超过带宽上限

netstat -anp | grep ESTABLISH | wc -l :tcp 连接成功数量 (消耗cpu资源,因此推荐使用 ss state ESTABLISHED | wc -l来统计)

netstat -anp | awk '{print $6}' | sort | uniq -c | sort -nr :tcp各状态数量

cat /proc/net/snmp :查看和分析240秒内网络包量,流量,丢包等

traceroute ip :路由经过地址(可用于定位网络在各个路由区段)

dig 域名 :解析域名获得ip地址

dmesg :系统内核日志

 

四、磁盘监控


iostat -mx 2 : 磁盘IO详情 (当IO等待时间所占CPU时间比重较高时,首先检查机器是否在大量使用swap ,同时关注iowait 占CPU的消耗比列是否很大,如果大说明磁盘IO存在瓶颈,同时也需要关注await )

iotop :查看哪个进程在进行IO操作

df -h :常用命令

du -h:常用命令

 

五、应用


jstack -l pid :用于查看线程是否存在死锁

awk '(print $2)' *.log | egrep '404 | 400' | wc -l :统计某日志中400,404状态码行数,根据实际情况更改

grep ‘'keywords' **.log | awk '{if($10=="200")print}' | awk '{print $2}' | more :打印包含关键字的12列数据

grep -C 5 "KEYWORDS" ***.log :打印包含关键字的前后5行日志

ps -efL | grep <pid> | wc -l :统计pid进程所创建的线程数

jstat -gc <pid> :查看pid进程的gc情况

jstat -gcnew <pid> :查看新生代内存使用情况(MTT:最大几次交换会迁入old区,TT:目前已交换次数)

jstat -gcold <pid>

jmap -histo <pid> :按内存大小排序

 

打印dump及gc日志,内存溢出时,打印堆栈信息:

•-XX:HeapDumpPath=/home/logs

•-XX:+PrintGCDetails

•-XX:+PrintGCTimeStamps

•-Xloggc:/usr/aaa/dump/heap_trace.txt

•-XX:+HeapDumpOnOutOfMemoryError

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值