1、top
查看系统负载情况,load average
CPU使用情况,按1查看每个CPU的使用情况
shift+h 查看每个线程的情况
2、free -m
按兆为单位输出内存的已用,未用,总共等结果
total used free shared buffers cached
Mem: 32176 27911 4265 0 132 7114
-/+ buffers/cache: 20664 11512
Swap: 31996 0 31996
3、查看服务器磁盘使用情况
df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 510G 317G 168G 66% /
/dev/sda1 996M 40M 905M 5% /boot
tmpfs 16G 0 16G 0% /dev/shm
查看具体是哪个目录磁盘使用过大
du -h --max-depth=1 /etc/
4、查看java进程
ps -ef | grep java
5、查看占用CPU最大的线程
ps Hh -eo pid,tid,pcpu |sort -nk3|tail
2858 2889 1.0
2858 3982 1.8
6796 7480 2.2
查看对应线程的堆栈
jstack 6796 | grep -C 10 ‘nid=0x1d38‘
注意 7480 ---> 十六进制 1D38 ---> 小写
6、查看内存对象
jmap -histo:live pid |head -n 20
7、查看gc情况:
jstat -gcutil <pid> <频率> 次数
-rbash-3.2$ jstat -gcutil 6796 1000 3
S0 S1 E O P YGC YGCT FGC FGCT GCT
0.00 26.80 19.02 76.18 21.64 1607 90.868 4 15.923 106.791
0.00 26.80 23.08 76.18 21.64 1607 90.868 4 15.923 106.791
0.00 26.80 26.21 76.18 21.64 1607 90.868 4 15.923 106.791
8、生成内存堆栈文件
jmap -dump:format=b,file=/soft/dump/mem_dump.bin pid
tar -czf mem_dump.tar.gz mem_dump.bin
可通过Eclipse的MemoryAnalyzer工具分析
JVM相关: http://www.cnblogs.com/redcreen/tag/jvm/