Linux 命令与 Java异常定位

发现阿里云的没有装java,于是以此为引子。
首先判断是否安装java rpm -qa | grep java 其中rpm -qa列出所有安装的程序
在这里插入图片描述
| grep作用是将rpm -qa的结果作为文本进行查询 rpm -qa | grep java 就是查询其中文字匹配java的行
在这里插入图片描述
发现没有。于是安装之。这里使用yum命令进行安装。
首先使用yum -y list java*列出所有包含java的安装包
在这里插入图片描述
这里选择JDK8进行安装
yum -y install java-1.8.0-openjdk.x86_64在这里插入图片描述
安装完成后,使用java -version查看是否正确安装。

top 是用来监控Linux系统状况,比如cpu、内存的使用。
默认每三秒刷新一次。
top中 load average的意思
1.单核CPU, 数字在0.00-1.00之间正常
0.00-1.00 之间的数字表示此时路况非常良好,没有拥堵,车辆可以毫无阻碍地通过。
1.00 表示道路还算正常,但有可能会恶化并造成拥堵。此时系统已经没有多余的资源了,管理员需要进行优化。
1.00以上 表示路况不太好了,如果到达2.00表示有桥上车辆一倍数目的车辆正在等待。这种情况你必须进行检查了。
用双核举例,双核的负载已经比单核提高一倍了,那多核的也是同理。

多核CPU的话,满负荷状态的数字为 “1.00 * CPU核数”,即双核CPU为2.00,四核CPU为4.00。
原文链接:https://blog.csdn.net/zhangchenglikecc/article/details/52103737

除了top 也可以使用uptime 查看load average

vmstat
vmstat -n 2 3 意味着每 2 秒采样一次 共采样 3 次
在这里插入图片描述
r是运行和等待CPU时间片的进程数,原则上单核CPU等待队列不能超过2,多核不能超过2 * 核心数,否则表示系统压力过大。
b 是等待资源的进程数,比如IO等待,网络等待。
us 表示用户进程消耗百分比,sy表示系统消耗百分比,如果us + sy > 80意味着CPU可能性能不足

mpstat -P ALL 2 3
显示所有CPU使用情况
在这里插入图片描述
pidstat -u 1 -p pid 显示每个进程使用CPU的用量分解信息
在这里插入图片描述
pidstat -p pid -r 2 以每2秒进行采样。显示pid的进程对内存的消耗
在这里插入图片描述
pidstat -d 2 -p pid 显示pid进程的磁盘IO情况

free
用来查看内存,默认使用字节显示,free -g以GB显示 free -m以MB显示

df
用来查看磁盘剩余空间
df -h 以人性化的方式查看
在这里插入图片描述

iostate
查看IO情况

ifstate
查看网络IO情况

ps -ef
列出所有进程和其对应的文件目录
在这里插入图片描述

如果Java程序疯狂占用CPU,该如何定位
1、利用jps 找到 java进程号或者 ps -ef 找到这个java 进程。
2、使用ps -mp pid -o THREAD tid time
可以定位到这个进程的每个线程的CPU使用情况。其中 -o 是用户定义的显示列名
3、将找到的tid转成16进制。
4、利用jstack pid | grep tid(16进制) 查看运行情况

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值