1. OS/system
$ vmstat 2 10 // 10 system resource status to every 2 sec.
$ iostat 2 10 // 10 I/O status to every 2 sec.
$ sar 2 10 // 10 ??? status to every 2 sec.
$ ipcrm -m [Key]p 35020 // Remove Shared Memory
$ netstat -n | grep EST | grep ‘:[PORT]’ | wc -l // count of connection list for port (Web serverconnection count , DB connection count, …)
$ pstack [PID] // Process Stack Trace
$ ipcs -qu // list to message queue
$ ipcs -mob | grep 35020 // show to Shared Memory
$ ipcrm -m [Key]p 35020 // Remove to Shared Memory
2. Java process
$ $JAVA_HOME/bin/jstack [PID] // JVM Stack Trace [ Hotspot JDK ] ( analysis to daed lock)
$ kill -3 [PID] // JVM Stack Trace & Heap Dump [IBM JDK] (analysis to daed lock)
$ jmap -dump:format=b,file=heap.hprof [pid] // runtime heap dump [ Hotspot JDK ]
$ jstat -gc -h20 [PID] 3000 // JVM Heap 사용량 및 GC(garbage collection) 통계
$ ps -mo pid,lwp,stime,time,pcpu -C java | more // java 프로세스의 쓰레드별 CPU 사용량 확인
* java thread dump 분석할때는 일정주기(5초) 10회정도 dump를 해서 비교 분석해야 한다.
* 참고 : http://architects.dzone.com/articles/how-analyze-java-thread-dumps
3. Java Heap Dump 분석 툴 : jstat, jmap, jhat, visualvm, jconsole, MemoryAnalyzer