728x90
반응형
GC관련 혹은 JVM 관련해서 살펴볼 때 -XX:+~~~ 와 같은 문장을 본 적이 있을 것이다.
이게 도대체 뭔지 궁금해서 검색을 해보았더니 JAVA Hotspot VM에서 사용하는 Option설정 예약어였다.
아래 내용은 오라클에서 제공하는 Hotspot VM의 vmoptions 페이지에서 일부를 옮겨와 번역하였다.
-XX란?
원문
- Options that begin with -X are non-standard (not guaranteed to be supported on all VM implementations), and are subject to change without notice in subsequent releases of the JDK.
- Options that are specified with -XX are not stable and are subject to change without notice.
-X로 시작하는 Option들은 표준화된 Option이 아니다. 모든 VM에서 지원되는 것이 아니며 JDK의 후속 릴리즈 버전에서 예고 없이 변경될 수 있다.
-XX로 명세된 option들은 안정화되지 않았으며 추후 공지 없이 변경될 수 있다.
위 글을 보면서 재미있던 건 -XX로 된 Option 또한 추후 벤더의 공지 없이 변경될 수 있다는 점이었다.
-XX option format
기본값은 Solaris Sparc의 JAVA SE 6을 따른다.
일부 option들은 각각의 아키텍처, OS, JVM버전에 따라 다를 수 있다.
- Boolean option은 -XX:+<option>의 형태로 true로 설정하고 -XX:-<option> 형태로 false로 설정한다.
- ex) -XX:-AllowUserSignalHandler
- ex) -XX:+FailOverToOldVerifier
- Numeric option은 -XX:<option>=<number> 형태로 설정한다. number에는 'm'이나 'M', 'k'나 'K', 'g' 나 'G'를 넣어 메가바이트, 킬로바이트, 기가바이트로 표현 가능하다.
- ex) -XX:LargePageSizeInBytes=4m
- ex) -XX:CompileThreshold=10000
- String option은 -xx:<option>=<string> 형태로 설정한다. 일반적으로 파일이나 path, command list를 명세할 때 사용한다.
- ex) -XX:OnError="<cmd args>;<cmd args>"
- ex) -XX:OnOutOfMemoryError="<cmd args>; <cmd args>"
- ex) -Xloggc:<filename>
어떤 옵션들이 있는지는 https://www.oracle.com/java/technologies/javase/vmoptions-jsp.html 에서 확인하길 바란다.
reference
[1] : https://www.oracle.com/java/technologies/javase/vmoptions-jsp.html
728x90
반응형
'JAVA' 카테고리의 다른 글
접근 제어자 (0) | 2021.05.05 |
---|---|
저는 Eclipse로 개발합니다(1) - debugging (0) | 2021.03.25 |
JVM 구조 (2) | 2021.03.01 |
자바 GUI프로그램 IOConsole 글자 수 조절하기 (0) | 2020.11.15 |
자바 toUpperCase, toLowerCase를 이용한 대소문자 변환 (0) | 2020.11.12 |