不顯式設(shè)置-Xss或-XX:ThreadStackSize時(shí)捺宗,在Linux x64上ThreadStackSize的默認(rèn)值就是1024KB,給Java線程創(chuàng)建棧會(huì)用這個(gè)參數(shù)指定的大小川蒙。
如果把-Xss或者-XX:ThreadStackSize設(shè)為0蚜厉,就是使用“系統(tǒng)默認(rèn)值”。而在Linux x64上HotSpot VM給Java棧定義的“系統(tǒng)默認(rèn)”大小也是1MB畜眨。
所以這個(gè)條件下普通Java線程的默認(rèn)棧大小怎樣都是1MB昼牛。
至于操作系統(tǒng)棧大惺跷汀(ulimit -s):這個(gè)配置只影響進(jìn)程的初始線程;后續(xù)用pthread_create創(chuàng)建的線程都可以指定棧大小贰健。HotSpot VM為了能精確控制Java線程的棧大小胞四,特意不使用進(jìn)程的初始線程(primordial thread)作為Java線程。
作者:RednaxelaFX
鏈接:https://www.zhihu.com/question/27844575/answer/38370294
來(lái)源:知乎
著作權(quán)歸作者所有伶椿。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán)辜伟,非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。