java调优笔记

1. dstat

每秒收集一次系统关键信息,相比Zabbix的分钟级数据更能抓住啊尖峰点,相比其他几个类似的监控命令,dstat的功能更完整。

原理是从/proc 这个伪文件系统读取数据,只会占一个核的2%左右CPU,不造成消耗。

1.1 获取日志

// 输出到控制台 dstat -tamp // 输出到日志 dstat -tamp > /tmp/dstat.log &

1.2 分析日志

  • 找出CPU消耗大于50%的时刻

// 找出所有超过IDLE少于50%的时刻 awk '$5*1<50' /tmp/dstat.log // 找出10-24日14点的IDLE少于50%的时刻 grep "24-10 14:" /tmp/dstat.log|awk '$5*1<50'

  • 同理可筛选其他列

2. pidstat

2.1 获取日进程的CPU消耗

//-l 显示commmand line参数, 每1秒输出1次 pidstat -l 1 //输出到日志 pidstat -l 1 > /tmp/pidstat.log &

如果进程在秒级退出也会没有抓住。

2.2 分析日志

// 找出所有CPU使用超过1个CPU core的进程 awk '$6*1>=100' /tmp/pidstat.log

3. swap查看

3.1 查看历史的swap使用情况

显示当天的swap page in/page out 情况,粒度为10分钟

sar -W

3.2 查看进程使用的swap

  • 方法1: top, f选择 fileds, p选中swap, 然后回车,能看到应用占用swap的情况
  • 方法2: 获得进程PID后直接查看

cat /proc/{PID}/status|grep VmSwap

3.3 swappiness参数

  • 查看使用swap的概率, 值应该是10或10以下

cat /proc/sys/vm/swappiness

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值