Linux服务器性能监控常用命令汇总

top命令

在这里插入图片描述
查看系统负载情况,重点在监控每个进程。当load average三个值加起来 / 3 / 100% > 60%,表示系统负载较高

vmstat

在这里插入图片描述
相比top命令,vmstat命令可以监控整个系统cpu和内存使用情况。一般通过两个数字参数来完成,第一个代表采样时间间隔单位为秒,第二个代表采样次数

  • procs:

    • r:运行和等待CPU时间片的进程数,原则上1核CPU的运行队列不大于2,整个系统运行队列不超过核心数2倍,否则被视为系统压力过大
    • b:等待系统分配资源的进程数(磁盘I/O,网络I/O)
  • cpu:

    • us:用户进程消耗cpu时间占比。如果长期高于50%,考虑优化程序
    • sy:内核线程消耗cpu时间占比
    • us + sy 参考值80%,如果长期高于80%,可能存在cpu性能不足

pidstat

在这里插入图片描述
针对进程查看cpu和内存使用情况 -u 打印频率 -p 进程ID

CPU占用过高分析步骤

测试代码

public class Demo {
    public static void main(String[] args) {
        while (true) {
            System.out.println(new java.util.Random().nextInt(77778888));
        }
    }
}
  1. 使用top命令查找占用高的进程
    在这里插入图片描述
  2. 使用ps -ef | grep pid 或jps -l进一步查看是哪个应用程序占用高
    在这里插入图片描述
  3. ps -mp pid -o THREAD,tid,time 定位到具体线程
    在这里插入图片描述
  4. 把线程ID转换为16进制(java运行时线程ID以16进制形式存在),通过命令jstack pid | grep tid -A60
    -A60 打印前60行
    在这里插入图片描述
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值