-Xss와 -XX의 차이점은 무엇입니까?스레드 스택 크기?
자바(그루비) 애플리케이션의 모든 스레드에 대한 스택 크기를 제어하고 싶습니다.Hotspot Oracle VM의 경우 -Xss두 가지 매개 변수가 이를 수행하는 것으로 알고 있습니다(및 ).
어떤 것이 선호됩니까?그들 사이에 다른 점이 있습니까?오픈 JDK 7과 관련하여 누군가 메일링 리스트에 다음과 같은 질문을 했습니다.-Xss Hotpot VM과 .-XX:ThreadStackSize.
중요한 것은 시스템에서 얼마나 많은 스레드를 시작할 수 있는지 측정하고 있다는 것입니다.이렇게 하는 내 멋진 대본은 다음과 같습니다.
int count = 0
def printCountThreads = {
println("XXX There were started $count threads.")
}
try {
while(true){
new Thread({Thread.sleep(Integer.MAX_VALUE)}).start()
count++
if(count % 1000 == 0){
printCountThreads()
}
}
} catch (Throwable e){
printCountThreads()
throw e
}
는 -도 - 를 하여 일 도 를 XX:ThreadStackSize JAVA_OPTS . JAVA_OPTS . JAVA_OPTS 으로 합니다 을 에서 합니다 을 으로
groovy countmax-threads.groovy
를 JAVA_OPTS로 때-XX:ThreadStackSize=2m까지 약 즉, 가 의 까지 됩니다 가 될 됩니다 가 의 .그런데 제가 사용할 때.JAVA_OPTS='-Xss2m' 오류가 약를 받습니다 가 할 까지 32000 를 의 를 가는 것 .-Xss전혀 작동하지 않습니다.
사용중입니다
버전 " "1.8.0_05"
Environment ( 10_05-b13)Java(TM) SE경드 ( 1.8.0_05-b13)
HotSpot VM 25 모드) Java HotSpot(TM) 64비트 VM(확장 25.5-b02, 확장 25.5-b02)
4개의 하드웨어 스레드와 약 8GB의 RAM이 있는 Ubuntu 14.04 64비트 시스템에서.
업데이트:
Windows 7 64비트 컴퓨터와 다른 JDK에서 확인했습니다.
자바 버전 "1.8.0_20" Java(TM) SE 런타임 환경 (빌드 1.8.0_20-b26) Java HotSpot(TM) 64비트 서버 VM (빌드 25.20-b23, 혼합 모드)
거기서 -Xss그리고.-XX:ThreadStackSize◦ 그래서 JDK 8.합니다.그래서 저는 그것이 리눅스 고유의 문제이거나 심지어 JDK 버전 1.8.05의 버그라고 생각합니다.
-Xss는 에 대한 별칭입니다.-XX:ThreadStackSizeOpenJDK 및 Oracle JDK용으로 모두 제공됩니다.
이들은 인수를 다르게 해석합니다.
-Xss는 K,M접미사가 수 ;K, M는 G를를다수할진다수할yath를kr를진는g;kmmg
-XX:ThreadStackSize=는 정수(접미사 없음) - 스택 크기(킬로바이트)를 예상합니다.
-Xss VM는 Java HotSpot VM에서 입니다.
-XX:ThreadStackSize다른 것과 마찬가지로-XX옵션은 안정적이지 않으며 예고 없이 변경될 수 있습니다.
Java HotSpot VM 옵션 참조
자바 SE 8용 2019년 업데이트됨
8에서는 "Oracle Java SE 8"을 합니다.-Xss그리고.-XX:ThreadStackSize=size동치입니다. 참조
위해서-Xss:
-Xsssize
Sets the thread stack size (in bytes). Append the
letter k or K to indicate KB, m or M to indicate MB, g or G to
indicate GB. The default value depends on the platform:
Linux/ARM (32-bit): 320 KB
Linux/i386 (32-bit): 320 KB
Linux/x64 (64-bit): 1024 KB
OS X (64-bit): 1024 KB
Oracle Solaris/i386 (32-bit): 320 KB
Oracle Solaris/x64 (64-bit): 1024 KB
The following examples set the thread stack size to 1024 KB in different units:
-Xss1m
-Xss1024k
-Xss1048576
This option is equivalent to -XX:ThreadStackSize.
위해서-XX:ThreadStackSize=size
-XX:ThreadStackSize=size
Sets the thread stack size (in bytes). Append the
letter k or K to indicate kilobytes, m or M to indicate
megabytes, g or G to indicate gigabytes. The default
value depends on the platform:
Linux/ARM (32-bit): 320 KB
Linux/i386 (32-bit): 320 KB
Linux/x64 (64-bit): 1024 KB
OS X (64-bit): 1024 KB
Oracle Solaris/i386 (32-bit): 320 KB
Oracle Solaris/x64 (64-bit): 1024 KB
The following examples show how to set the thread stack size to 1024 KB in different units:
-XX:ThreadStackSize=1m
-XX:ThreadStackSize=1024k
-XX:ThreadStackSize=1048576
This option is equivalent to -Xss.
Oracle Java SE 8 문서에서는 -Xss 및 -XX:ThreadStackSize= 크기는 동일합니다.그러나 이것은 올바르지 않습니다.해보세요.
java -XX:ThreadStackSize=1024 -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
java -Xss1024 -version
The stack size specified is too small, Specify at least 160k
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
-XX:ThreadStackSize= size Java 스레드 스택 크기(킬로바이트)를 설정합니다.k와 같은 스케일링 접미사를 사용하면 -XX:ThreadStackSize=1k는 Java 스레드 스택 크기를 1024*1024바이트 또는 1메가바이트로 설정합니다.
그리고.
-Xss size 스레드 스택 크기(바이트 단위)를 설정합니다.
-Xss에 대해서만 작동합니다.main자바 광고, 그러나.-XX:ThreadStackSize모든 Java 스레드에서 작동합니다.
명령줄에서 -Xss(또는 -ss)를 전달한 경우 런처에서 직접 픽업하여 나중에 VM에 기본 스레드 스택 크기를 묻지 않고 "메인" Java 스레드를 생성하는 데 사용됩니다.불일치가 발생하는 위치: -XX 뒤에 -Xss가 주어진 경우:ThreadStackSize, 그럼에도 문제가 없습니다. 그렇지 않으면 "메인" 자바 스레드의 스택 크기는 -Xss로 지정된 반면 다른 자바 스레드의 스택 크기는 여전히 ThreadStackSize의 스택 크기를 따릅니다.
-Xss와 -XX 간의 불일치:Java 런처에서 ThreadStackSize
언급URL : https://stackoverflow.com/questions/28767905/what-is-the-difference-between-xss-and-xxthreadstacksize
'programing' 카테고리의 다른 글
| Oracle SQL PLS-00049: 잘못된 바인딩 변수 (0) | 2023.09.11 |
|---|---|
| 백업을 하나의 DC에서만 구현하기 위한 솔루션 모색 (0) | 2023.09.11 |
| size_t가 size입니까? (0) | 2023.09.11 |
| jHTML 요소의 스타일을 변경하는 jQuery (0) | 2023.09.11 |
| Java 및 MariaDB 연결 드라이버 오류 (0) | 2023.09.11 |