我在 VM Windows 機器上運行 Wildfly 11,并且在 standalaone.conf.bat 中設(shè)置了 jdk 1.8 JAVA_OPTSset "JAVA_OPTS=-Xms8g -Xmx8g -XX:MetaspaceSize=8g -XX:MaxMetaspaceSize=8g"我在 WILDFLY_HOME/bin 目錄中運行 standalone.bat,其他一切都保持默認。當我運行任務管理器時,我看到 JVM 分配的最大內(nèi)存為 400m。不應該是8g嗎?由于 xms 參數(shù)設(shè)置為 8g?任何人都知道在 TAsk 管理器中期望看到 JVM 提供的內(nèi)存是什么?謝謝。
1 回答

慕森王
TA貢獻1777條經(jīng)驗 獲得超3個贊
這與JVM有關(guān)。當您設(shè)置-XMS大小時,如果應用程序使用的內(nèi)存小于 XMS 大小時,JVM 不會強制使用內(nèi)存。例如帶有 -XMS8g 的“Hello world”應用程序,此應用程序永遠不會使用 8gb 內(nèi)存。JVM一開始就保留Xms指定的內(nèi)存,但是保留區(qū)和已用區(qū)是不一樣的。此外,保留不必在物理內(nèi)存中,也可以在交換區(qū)中。
如果你想看到這個區(qū)域,你可以在 Windows 中使用資源監(jiān)視器查看。在中打開內(nèi)存Resouce Monitor
選項卡。您將看到兩個部分,Commit
和Working Set
。你可以在這里看到區(qū)別。
添加回答
舉報
0/150
提交
取消