#
# L1J Server 啟動設定檔
#

# 使用 Server 模式, 具有教好的記憶體控制效能
-server

# 時區設置, 避免 JVM 抓取到錯誤的時區
-Duser.timezone=Asia/Taipei

# 伺服器最大及最小記憶體使用量, 建議設定為相同
-Xmx1024m
-Xms1024m

# Young Generation 大小, 建議為記憶體總量的 3/8
-Xmn384m

# 每個執行緒初始使用的記憶體大小
-Xss128k

# 靜態區大小, 主要跟所有 class 大小有關
-XX:MaxPermSize=32m

# 分頁檔使用大小 (啟動後出現無法鎖定的錯誤, 原因不明)
#-XX:+UseLargePages
#-XX:LargePageSizeInBytes=16

# 停用 System.gc()
-XX:+DisableExplicitGC

# GC 優先 而後使用 Full GC
-XX:+ScavengeBeforeFullGC

# 對 GC 使用並行收集
-XX:+UseParNewGC
-XX:+CMSParallelRemarkEnabled

# 對 GC 並行收集時所使用的執行緒數量
-XX:ParallelGCThreads=2

# Young Generation 子分區比率
-XX:SurvivorRatio=6
-XX:MaxTenuringThreshold=8

# 對 Full GC 使用並發收集
-XX:+UseConcMarkSweepGC

# Full GC 後進行碎片整理
-XX:+UseCMSCompactAtFullCollection
-XX:CMSFullGCsBeforeCompaction=10

# Old Generation 達到此百分比, 就開始執行 CMS
-XX:CMSInitiatingOccupancyFraction=85

# 快速參照方法 (get, set 直接取得物件, 而不透過方法回傳)
-XX:+UseFastAccessorMethods

# Soft Reference(軟參考) 最後一次使用後的存活時間
-XX:SoftRefLRUPolicyMSPerMB=0

# 不回收載入的類別
-Xnoclassgc

# 輸出 GC 相關訊息
-XX:+PrintGCDetails
-Xloggc:log\gc.log