参看所有java进程占内存,CPU使用情况
top -b -n 1 | grep java| awk ‘{print “PID:”$1",mem:“$6”,CPU percent:“$9”%“,“mem percent:”$10”%"}’
查看java中的进程,这个指令可以查到PID和包名字,登录用户不同查到的结果会不同,用root和work一般都查得到
jps -l
查看linux剩余内存
free -g
free -m
查看旧版本的Java内存使用情况(旧版本 -a 是按内存排序)
top -a -b -n 1 | grep java | awk ‘{print “PID: “$1” \t MEM: “$6” \t %CPU: “$9”% \t %MEM: “$10”%”}’
top -a -b -n 1 | grep java | awk ‘{print “PID: “$1” \t 虚拟内存: “$5” \t 物理内存: “$6” \t 共享内存: “$7” \t CPU使用率: “$9”% \t 内存使用率: “$10”%”}’
新版本 -o %MEM 按内存排序
top -o %MEM -b -n 1 | grep java | awk ‘{print “PID: “$1” \t MEM: “$6” \t %CPU: “$9”% \t %MEM: “$10”%”}’
top -o %MEM -b -n 1 | grep java | awk ‘{print “PID: “$1” \t 虚拟内存: “$5” \t 物理内存: “$6” \t 共享内存: “$7” \t CPU使用率: “$9”% \t 内存使用率: “$10”%”}’
查看PID所在目录
> lsof -p PID
> # 示例如下
> # cwd: 表示 current work dirctory, 即:应用程序的当前工作目录
> lsof -p 7188 | grep cwd
查看当前java进程的pid
pgrep -lf java
查看java堆的详细信息,有时候会报错,百度搜了下说是jdk版本不一致导致的
jmap -heap PID
查看java堆中对象的相关信息,包含数量以及占用的空间大小
jmap -histo PID
查看监控 heap size 和 jvm垃圾回收情况,尤其是gc情况的监控,如果老年代发生full gc,那么很可能会导致内存泄漏的可能性
jstat -gcutil pid
以上内容参考自
https://blog.csdn.net/WTUDAN/article/details/119818333
https://blog.csdn.net/rav009/article/details/111214285
https://www.it610.com/article/1295138146513657856.htm