发现阿里云的没有装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进制) 查看运行情况