자바 유틸리티
출처 - http://blog.outsider.ne.kr/852?category=2 jps : jps는 java process 목록을 제공하는 도구로 보통은 이름만 나오기 때문에 톰캣을 여러개 띄운 경우 구분할 수 없는데 이때는 jps -v 를 사용하면 실행옵션을 함께 볼 수 있다. ps -ef | grep java 를 하는 것보다는 jps가 훨씬 간단하고 jstat과 다른 점은 자신의 계정으로 실행한 것만 보인다는 것이다. jstat : jvm의 상황을 모니터링하는 도구로 운영서버에 절대 영향을 안주기 때문에 리얼서버에서 사용해도 문제가 없다. 유용한 옵션으로는 gc상태를 모니터링하는 -gcutil 과 jvm의 메모리 점유 상황을 모니터링하는 -gccapacity 가 있다. javap : 자바 클래스 파일을 분석해 준다. javap className 을 실행하면 해당 클래스에 선언된 변수와 메서드 정보등을 출력해 주고 javap -c className 을 실행하면 해당 클래스의 opcode(JVM을 위한 중간코드)를 출력해준다. jstack : 쓰레드 덤프(thread dump)를 발생시켜서 덤프 발생시점에 어떤 쓰레드가 어떤 작업을 수행하는 지 제공하는 덤프파일을 생성한다. 하지만 jstack는 경우에 따라 프로그램에 Hang이 발생할 수 있으므로 사용하지 않는 것이 좋고 쓰레드 덤프는 kill -3 pid 를 사용할 것을 권장한다.(-3 옵션을 빼먹거나 -9를 사용하지 않도록 주의해야 한다.) jmap : 힙덤프(heap dump)를 발생시켜서 덤프발생시점에 어떤 객체가 어떤 값을 갖고 있는지를 저장한다. 운영시에 jmap을 실행하면 자바 프로세스가 멈추므로 꼭 필요한 경우(메모리 릭 같은)에만 사용해야하고 jmap -dump:format=b, file=filename pid 같은 옵션을...