jcmd VM.set_flag seçeneği ile denemeler yapmaya çalışıyordum. Ancak "sadece 'yazılabilir' bayrakların ayarlanabileceğini söyleyen bir hatayla karşılaştım". Yazılabilir bayraklar nelerdir? vm bayraklarını değiştirmeye mi çalışıyorsunuzjcmd VM.set_flag, hangi bayraklar yazılabilir?
[email protected]:~/javacode$ jcmd -l
6294 Test
6295 jdk.jcmd/sun.tools.jcmd.JCmd -l
:
benim pid alınıyor
[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
Düzenleme: Bu yönetilebilir bayrakları çalıştı aşağıda başarılı komutlardır.
[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 aracılığıyla java 9 mevcuttur, bu jdk9 özgü bir seçenektir. öyle değil mi – Vipin