CPU:
top
top -Hp pid
jstack -l pid | grep -C10 nid=0x2ddc
内存:
jmap -heap <pid>
jmap -histo:live <pid>
jmap -dump:[live,]format=b,file=<filename> <pid>
线程:
1、查看最大进程数:cat /proc/sys/kernel/pid_max
2、查看最大线程数:cat /proc/sys/kernel/threads-max
3、显示当前的各种用户进程限制:ulimit -a (常用ulimit -s 、ulimit -u)
4、查看进程线程数:
a) pstree -p <pid>|wc -l
b) ps -Lf <pid>|wc -l
c) ps -mp <pid> | wc -l
参数:
-p 指定进程号
eg:top -p PID 查看进程ID为PID的进程
-H 查看各个线程资源占用的情况。
eg:top 查看各个进程 资源占用的情况。
top -H 查看各个线程 资源占用的情况。
top -Hp PID 查看进程ID为PID的进程中 所有线程 的资源占用情况。
-c 查看进程的完整命令(COMMAND)
eg:top -c 查看各个进程 资源占用的情况,其中命令(COMMAND)项显示详细信息。
-n 更新n次后,退出top命令。
eg:top -n 5 更新5次后,停止更新并退出top命令。
结合sort命令,来查看:一个JVM中什么类的实例最多?一个JVM中什么类的占用的合计容量最大?
Q:统计实例最多的类 前十位有哪些?
A:jmap -histo pid | sort -n -r -k 2 | head -10
Q:统计合计容量前十的类有哪些?
A:jmap -histo pid | sort -n -r -k 3 | head 10
说明:
sort命令的部分参数含义解释如下
-n :使用“”纯数字”进行排序(默认是以文字类型来排序)
-r : 反向排序
-k :以那个区间(field)来进行排序的意思