jvmstat hsperfdata java.io.tmpdir
온라인 에서 문제 가 발생 했 습 니 다.
Unable to open socket file: target process not responding or HotSpot VM not loaded
The -F option can be used when the target process is not responding
재 부팅 후 해결 합 니 다. 주요 원인 은 pid 파일 이 생 성 되 지 않 았 기 때 문 입 니 다. 여기에 관련 된 문제점 을 기록 합 니 다.
먼저 설명해 주세요. java.io.tmpdir
보다.http://download.oracle.com/javase/1.4.2/docs/api/java/io/File.html
If the directory argument is null then the system-dependent default temporary-file directory will
be used. The default temporary-file directory is specified by the system property java.io.tmpdir.
On UNIX systems the default value of this property is typically "/tmp" or "/var/tmp";
on Microsoft Windows systems it is typically "c:\\temp". A different value may be given to this
system property when the Java virtual machine is invoked, but programmatic changes to this
property are not guaranteed to have any effect upon the the temporary directory used by this
method
그 다음 jvmstat 사용 전 제 를 살 펴 보 겠 습 니 다.
보다.http://java.sun.com/performance/jvmstat/faq.html#3
If the error message is of the form:
Could not attach to vmid: reason
The jvmstat tools can only monitor the HotSpot 1.4.1 JVM and only when the target JVM has been
started with the -XX:+UsePerfData option. Please verify that your application is running with the
correct JVM and that the required -XX option is set.
이어서 위의 두 사람의 관 계 를 말하자면 jvmstat 는 hsperfdata 라 는 디 렉 터 리 파일 을 생 성 합 니 다username, 이 디 렉 터 리 파일 은 어디 에 있 습 니까? 기본 값 은 자바. io. tmpdir 디 렉 터 리 에 생 성 됩 니 다. 자바. io. tmpdir 는 Liux 에서 기본 값 은 / tmp 이 므 로 jvm Monitor 기능 을 기본적으로 켜 면 / tmp 디 렉 터 리 에 hsperfdata 라 는 디 렉 터 리 를 생 성 합 니 다.username, 그리고 이 디 렉 터 리 에 pid 파일 이 있 습 니 다. strings 를 이용 하여 파일 내용 을 볼 수 있 습 니 다. 보통 jvm 의 프로 세 스 정보 일 뿐 입 니 다.
이것 을 알 았 기 때문에 우 리 는 이 디 렉 터 리 의 위 치 를 스스로 수정 하여 삭제 되 어 이 디 렉 터 리 에 의존 하 는 프로그램 에 문제 가 생기 는 것 을 방지 할 수 있 습 니 다.
Djava.io.tmpdir=/home/admin/xxxxxx
전에 다른 사람 이 sun 에 게 준 bug report 와 관련 된 것 을 보 세 요.
JVM creates subdirectory "hsperfdata_xxx"
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5012932
temp dir locations should not be hardcoded for hsperfdata_ dirctories
http://bugs.sun.com/view_bug.do?bug_id=6447182
jdk 업데이트 에 대한 질문 은 블 로그 설명 을 참조 하 십시오.
Java update breaks jps, jconsole, etc
http://underlap.blogspot.com/2011/03/java-update-breaks-jps-jconsole-etc.html
이 문 제 를 한층 더 설명 하면 다음 과 같은 몇 가지 문제 가 발생 하기 쉬 운 부분 을 발견 할 수 있다.
1: hsperfdata 생 성 되 지 않 음xxx 디 렉 터 리 오류
2: hsperfdata 생 성xxx 디 렉 터 리 에 pid 파일 이 없습니다.
3: 생 성 권한 이 없습니다. 예 를 들 어 지정 한 / tmp 나 다른 디 렉 터 리 는 쓸 수 없습니다. 2 가지 상황 을 포함 하여 하 나 는 권한 이 없 는 것 이 고 공간 이 부족 합 니 다.
4: 파일 을 읽 을 수 없습니다. 예 를 들 어 2 명의 다른 사용자 가 이 파일 을 조작 합 니 다. 보통 A 사용자 가 자바 를 시작 합 니 다. B 사용자 가 jvmstat 등 을 실행 합 니 다.
5: 자바 에서 생 성 된 디 렉 터 리 와 jvmstat 에서 사용 하 는 디 렉 터 리 파일 은 같 지 않 습 니 다. 이것 은 위 jdk update 로 인 한 bug 를 볼 수 있 습 니 다.
ps: JE 스타일 레이아웃...눈물 이 흐르다
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.