ILoveCoffee, ILoveJava

jps - Java 가상 머신 프로세스 스테이터스 툴

jeeyong 2007. 12. 6. 10:14

jps - Java 가상 머신 프로세스 스테이터스 툴

  • 개요
  • 설명
  • 옵션
  • 호스트 식별자
  • 출력 형식
  • 관련 항목

형식

jps [ options ] [ hostid ]
options
커멘드행 옵션
hostid
프로세스 리포트를 생성하는 호스트의호스트 식별자 . hostid 에는, 통신 프로토콜, 포토 번호, 구현에 고유한 다른 데이터를 지정한 옵션 컴퍼넌트를 포함할 수가 있습니다.

설명

jps 툴은, 타겟 시스템상에서 계측 된 HotSpot Java 가상 머신 (JVM)을 일람표 가리킵니다. 이 툴로 표시할 수 있는 리포트 정보는, 액세스권을 가진 JVM 에 관한 것으로 한정됩니다.

hostid 를 지정하지 않고 jps 를 실행했을 경우, 로컬 호스트로 계측 된 JVM 가 검색됩니다. hostid 를 지정해 기동했을 경우, 지정된 프로토콜과 포토를 사용해, 지정된 호스트상의 JVM 를 검색합니다. jstatd 프로세스가 타겟 호스트상에서 실행되고 있으면(자) 상정됩니다.

jps 커멘드는, 타겟 시스템으로 계측 된 각 JVM 에 대해, 로컬 VM 식별자, 즉 lvmid 를 리포트합니다. lvmid 는, 필수가 아닙니다만, 일반적으로는 JVM 프로세스에 대한 operating system의 프로세스 식별자입니다. 옵션을 지정하지 않는 경우,jps 에 의해, 각 Java 어플리케이션의 lvmid 가 일람표 나타나 각각 어플리케이션의 클래스명 또는 JAR 파일명이 간단한 형식에서 나타납니다. 이 간단한 형식의 클래스명과 JAR 파일명에서는, 클래스의 패키지 정보 또는 JAR 파일 패스 정보가 생략 되고 있습니다.

jps 커멘드는,Java 기동 툴을 사용해,main 메소드에게 건네지는 클래스명과 인수를 검색합니다. 독자적인 기동 툴을 사용해 타겟 JVM 를 기동했을 경우는,main 메소드에게 건네지는 클래스명 (또는 JAR 파일명)과 인수는 이용할 수 없습니다. 이 경우,jps 커멘드는, main 메소드에 건네받는 클래스명 (또는 JAR 파일명)과 인수에 대해서, 캐릭터 라인 Unknown 를 출력합니다.

jps 커멘드로 생성되는 JVM 의 리스트는, 이 커멘드를 실행하는 주체에게 줄 수 있었던 액세스권에 근거해, 제한되는 경우가 있습니다. 이 커멘드는, operating system 독자적인 액세스 제어 기구에 의한 결정에 근거해, 주체에 액세스권이 주어지고 있는 JVM 만을 일람표 가리킵니다.

주: 이 유틸리티는 서포트 대상외이며, 장래의 JDK 의 버젼에서는 이용할 수 없게 될 가능성이 있습니다. 현재, Windows 98 및 Windows Me 플랫폼에서는 사용할 수 없습니다.

옵션

jps 커멘드에서는, 커멘드의 출력을 변경하는 옵션이 다수 서포트되고 있습니다. 장래, 이러한 옵션은, 변경 또는 폐지될 가능성이 있습니다.

-q
로컬 VM 식별자의 리스트만을 생성하도록(듯이),main 메소드에게 건네지는 클래스명, JAR 파일명, 및 인수의 출력을 제어합니다.
-m
main 메소드에게 건네지는 인수를 출력합니다. 이 출력은, 짜넣어지고 있는 JVM 에 대해서 null 가 될 수도 있습니다.
-l
어플리케이션의 주요한 클래스의 풀 패키지명, 또는 어플리케이션의 JAR 파일에의 풀 패스명을 출력합니다.
-v
JVM 에게 건네지는 인수를 출력합니다.
-V
플래그 파일 (. hotspotrc 파일 또는 -XX:Flags=<filename> 의 인수로 지정된 파일)을 통해서 JVM 에게 건네지는 인수를 출력합니다.
-Joption
javac 가 호출하는 java 기동 툴에,option 를 건네줍니다. 예를 들어,-J-Xms48m 와 지정하면(자), 스타트압메모리는 48M 바이트로 설정됩니다. -J 를 사용해, Java 로 기술된 어플리케이션을 실행하는 배후의 VM 에 옵션을 건네주는 것은, 잘 행해지고 있습니다.

호스트 식별자

호스트 식별자, 즉 hostid 는, 타겟 시스템을 나타내는 캐릭터 라인입니다. hostid 캐릭터 라인의 구문의 대부분은, URI 의 구문에 대응하고 있습니다.

[protocol:][[//]hostname][:port][/servername]
protocol
통신 프로토콜입니다. protocol 가 생략 되어hostname 가 지정되어 있지 않은 경우, 디폴트의 프로토콜이, 플랫폼 고유의 최적화된 로컬 프로토콜이 됩니다. protocol 가 생략 되어hostname 가 지정되고 있는 경우는, 디폴트 프로토콜은 rmi 가 됩니다.
hostname
타겟 호스트를 나타내는 호스트명 또는 IP 주소입니다. hostname 가 생략 되고 있는 경우는, 타겟 호스트는 로컬 호스트가 됩니다.
port
리모트 서버와 통신하기 위한 디폴트 포토입니다. hostname 가 생략 되고 있는지,protocol 로 최적화된 로컬 프로토콜이 지정되고 있는 경우,port 는 무시됩니다. 그렇지 않으면,port 파라미터의 취급은, 구현에 따라서 다릅니다. 디폴트의 rmi 프로토콜의 경우,port 는, 리모트 호스트상의 rmiregistry 의 포토 번호를 나타냅니다. port 가 생략 되어protocolrmi 가 지정되고 있는 경우, 디폴트의 rmiregistry 포토 (1099)가 사용됩니다.
servername
이 파라미터의 취급은, 구현에 따라서 다릅니다. 최적화된 로컬 프로토콜의 경우, 이 필드는 무시됩니다. rmi 프로토콜의 경우, 이 파라미터는, 리모트 호스트상의 RMI 리모트 오브젝트의 이름을 나타내는 캐릭터 라인이 됩니다. jstatd 커멘드에 대해서는,-n 옵션을 참조해 주세요.

출력 형식

jps 커멘드의 출력은, 다음의 패턴에 따릅니다.

lvmid [ [ classname | JARfilename | "Unknown"] [ arg* ] [ jvmarg* ] ]

모든 출력 토큰은 공백에서 단락짓습니다. arg 중(안)에서 공백을 사용하면(자), 실제의 정위치 파라미터에 인수를 매핑 하려고 할 때, 애매하게 됩니다.

주: 장래의 릴리스로 이 형식은 변경될 가능성이 있기 (위해)때문에,jps 출력을 해석하는 스크립트는 작성하지 않는 것을 추천합니다. jps 출력을 해석하는 스크립트를 작성하면(자), 이 툴의 장래의 릴리스로, 작성한 스크립트를 변경할 필요가 예측됩니다.

이 마디에서는,jps 커멘드의 예를 나타냅니다.

로컬 호스트상에서 계측 된 JVM 를 일람표시 하는 경우:

jps
18027 Java2Demo.JAR
18032 jps
18005 jstat

리모트 호스트상에서 계측 된 JVM 를 일람표시 하는 경우:

이 예에서는,jstat 서버와 그 내부 RMI 레지스트리 또는 다른 외부 rmiregistry 프로세스의 어느쪽이든이, 리모트 호스트의 디폴트 포토 (포토 1099)로 실행되고 있으면(자) 상정하고 있습니다. 또, 로컬 호스트가, 리모트 호스트에게로의 유효한 액세스권을 가지고 있는 일도 상정하고 있습니다. 이 예에는,-l 옵션도 포함되어 클래스명 또는 JAR 파일명을 상세한 형식에서 출력합니다.

jps -l remote.domain
3002 /opt/j2sdk1. 5.0/demo/jfc/Java2D/Java2Demo.JAR
2857 sun.tools.jstatd.jstatd

RMI 레지스트리에 디폴트가 아닌 포토를 사용해, 리모트 호스트상에서 계측 된 JVM 를 일람표시 하는 경우:

이 예에서는, 내부 RMI 레지스트리가 포토 2002 에 바인드 된 jstatd 서버가, 리모트 호스트상에서 실행하고 있으면(자) 상정하고 있습니다. 또,-m 옵션을 사용해, 일람표 나타난 각각의 Java 어플리케이션의 main 메소드에게 건네지는 인수를 짜넣고 있습니다.

jps -m remote.domain:2002
3002 /opt/j2sdk1. 5.0/demo/jfc/Java2D/Java2Demo.JAR
3102 sun.tools.jstatd.jstatd -p 2002

관련 항목


Copyright © 2003 Sun Microsystems, Inc. All Rights Reserved.

Sun
Java 소프트웨어