jcmd VM.set_flag 옵션을 실험 해 보려고했습니다. 그러나 "하나의 '쓰기 가능'플래그 만 설정할 수 있다는 오류를 발견했습니다. 쓰기 가능한 플래그 란 무엇입니까? VM 플래그를 변경하려고jcmd VM.set_flag, 플래그는 쓸 수 있습니까?
[email protected]:~/javacode$ jcmd -l
6294 Test
6295 jdk.jcmd/sun.tools.jcmd.JCmd -l
:
내 PID를 얻기
[email protected]:~/javacode$ jcmd 6294 VM.set_flag ConcGCThreads 4
6294:
only 'writeable' flags can be set
[email protected]:~/javacode$ jcmd 6294 VM.set_flag MaxNewSize 1G
6294:
only 'writeable' flags can be set
편집 : 그것은 관리 플래그 근무, 아래 성공적인 명령입니다.
[email protected]:~/javacode$ jcmd 11441 VM.flags -all | grep MinHeapFreeRatio
uintx MinHeapFreeRatio = 40 {manageable} {default}
[email protected]:~/javacode$ jcmd 11441 VM.set_flag MinHeapFreeRatio 45
11441:
Command executed successfully
[email protected]:~/javacode$ jcmd 11441 VM.flags -all | grep MinHeapFreeRatio
uintx MinHeapFreeRatio = 45
VM.set_flag이 http://openjdk.java.net/jeps/228를 통해 자바 (9)에서 사용할 수 있습니다, 그것은 jdk9 특정 옵션입니다. 그렇지 않아? – Vipin