Linux命令 之服务器性能查询

结合Linux命令与java程序,定位,排错,复习Linux命令

造成服务器系统性能变慢的原因很多,大多数为:

1:Cpu占用过高

2:内存占用过高

3:硬盘占用

4:磁盘io次数

5:网络io

结合java程序,在Linux环境下定位具体原因

首先编写一段肯定会死循环的代码:

public class TestLinuxDemo {
    public static void main(String[] args) {
        while (true)
        {
            System.out.println(new Random().nextInt(66668888));
        }
    }
}

找到源文件目录,将其拷贝到Linux文件系统

Linux终端执行 javac TestLinuxDemo.java

java TestLinuxDemo

第一步:排查系统命令top

参数1:Linux命令

2:当前系统负载均衡:3个数字相加*100%/3如果大于60%表示负载过高

3:具体java进程id及占用信息

按下数字1键 当前系统具体cpu片数情况

uptime:精简版top

第二步:排查CPU命令 vmstat

主要关注procs(process) cpu id(idle) :cpu空闲率越高越好最好大于80%

查询所有cpu信息:mpstat -P ALL 2

查看cpu用量的分解信息:pidstat -u 1 -p pid

第三步:排查内存命令 free

内存共计3935M将近4G 已使用1079M 空闲500M

第四步:排查硬盘命令df :disk free

第五步:网络io ifstat

精准定位:

1:top查看具体占用进程 为2588

2:精准定位 ps -ef|grep 2588|grep -v grep

3:定位线程代码:ps -mp 2588 -o THREAD,tid,time

4:计算器换算具体进程的16进制表达式 换为小写字母 a1d

ps:打开计算器的正确方式?calc

5:jstack 2588 |grep a1d -A60

标识java程序的12行

ok定位结束 将其进程杀死即可

你为什么不试试重启呢?

你为什么不试试在公众号回复[我爱你]呢?

原文发布于微信公众号 - 赵KK日常技术记录(gh_cc4c9f1a9521)

原文发表时间:2019-06-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券