top -H -p 20589 查看进程内各个线程占用的CPU百分比
可以只要看RES那个,或者%MEM
RES=%MEM*物理内存大小
RES=8.5%*16GB=1.36GB
VIRT指的是虚拟内存,RES指的是实际内存
查看线程的十六进制,方便堆栈中查找:printf "%x" pid

监控java线程数:
ps -eLf | grep java | wc -l
ps -eLf | grep java | wc -l
监控网络客户连接数:
netstat -n | grep tcp | grep 侦听端口 | wc -l
netstat -n | grep tcp | grep 侦听端口 | wc -l

load average:数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。
S:这个是进程的状态。它有以下不同的值:
- D - 不可中断的睡眠态。
- R – 运行态
- S – 睡眠态
- T – 被跟踪或已停止
- Z – 僵尸态
%CPU:自从上一次更新时到现在任务所使用的CPU时间百分比。
%MEM:进程使用的可用物理内存百分比。
tasks: 进程总数,运行的进程数,睡眠的进程数,停止的进程数,僵尸 进程数top回车
按数字1可切换到每个CPU的使用率

jstack pid>xxx.txt