-Xms和-Xmx

ck2265395 13年前發布 | 4K 次閱讀

java內存堆棧不夠用時我們會尋求java參數-Xms和-Xmx的幫助,網上也有許多前輩給出了例子,但很多人喜歡把-Xms和-Xmx的值設置成一樣的,甚至我還見過有吧-Xms設的比-Xmx還要大(-Xms是最小值,-Xmx是最大值)。

    一開始我也不知道這兩個值設成一樣會有什么問題,但是我在作項目http://youmonitor.us/ 時發現,當我把-Xms和-Xmx設置成一樣時,java會不斷地吃內存。起先不知道怎么回事,經過測試后發現,原來java的垃圾回收器在內存使用達到-Xms值的時候才會開始回收,如果兩個值一樣,那就意味著,只有當java使用完所有內存時才會回收垃圾,這樣一來內存當然不停的漲。



并且同一jdk的gc策略也有多種,不能一概而論
另外,在sun的jdk下,Xms和Xmx設置一樣,可以減輕伸縮堆大小帶來的壓力,但在ibm的jdk下面,設置為一樣會增大堆碎片產生的幾率,并且這種負面影響足以抵消前者產生的益處 


 本文由用戶 ck2265395 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!