2011-12-05 2 views
0

시스템 작동 방식을 파악하려고합니다. 내가 'ps -A'를 할 때 나는 몇 가지 자바 프로세스를 본다. 거기에 자바 인스턴스를 검사하고 모든 항아리 또는 클래스 (인스턴스를 중지하지 않고) 인스턴스에서로드되는 알려주는 명령을 실행하는 방법이 있나요?로드 된 클래스가있는 Java 인스턴스를 찾는 방법

+2

아마도 가장 좋은 방법은 visualvm/etc를 사용하는 프로세스에 첨부하는 것입니다. –

답변

3

jconsole 또는 visualvm을 사용하여 실행중인 JVM의 세부 정보를 얻을 수 있습니다. 이들은 리눅스를 사용하는 경우 xwindows를 필요로합니다.

또한 jps -v는 JVM을 시작하는 데 사용 된 명령 줄 인수가 무엇인지 알려줍니다. 거기에서 클래스 패스에 사용 된 항아리를 볼 수 있어야합니다.

3

당신이 묻고있는 것을 수행하려면 VisualVM과 같은 Java 전용 도구를 사용해야합니다.

0
ps -Af 

프로세스를 시작하는 데 사용 된 정확한 명령이 표시됩니다. 그러나 JAR 파일이로드 된 라이브러리를 정확하게 말할 수는 없습니다 (추측 할 수 있도록 클래스 경로를 얻은 것 같지만).

자세한 내용은 JVM을 조사하는 도구가 필요합니다.

0

웹 응용 프로그램 또는 엔터프라이즈 (EAR) 응용 프로그램을 실행하는 Java 응용 프로그램 서버의 경우 명령 줄에서 사용 된 모든 jar를 추론 할 수 없습니다. 하지만 예를 들어 lsof java 프로세스가 사용하고있는 모든 파일을 나열하는 명령. 그리고 그들로부터 항아리를 걸러 내십시오.

관련 문제