讀JVM相關的一些筆記

一、JVM的運行模式java

vm通常有兩種運行模式,client和server(JDK 7 後有第三種 Tiered server,後續會涉及到)。linux

  • client : 啓動快,內存佔用少,JIT編譯器生成代碼的速度也更快。
  • Server:提供了更爲複雜的生成代碼優化功能,這個功能對於服務器應用來講更爲重要,大多數Server模式的JIT編譯優化都要消耗額外的時間用以收集更多的應用程序行爲信息,爲應用程序運行生成更爲優化的代碼。
  • 在JDK7 開始,提供了一種Tiered Server模式,結合了上面兩種的長處,即快速啓動而且可以高效生成代碼。能夠經過:-server -XX:+TieredCompilation 命令選項啓用。

二、JVM 32仍是64位的選擇服務器

原則是由應用程序的內存佔用來決定,有以下原則能夠參考:優化

OS java堆大小 32位仍是64位JVM
win <1300M 32位JVM
win 1300M<x<32G 使用-d64 -XX:+UseCompressedOops 啓用64位JVM
win >32G 使用-d64  啓用64位JVM
linux <2G 32位JVM
linux 2G<x<32G 64位
linux >32G 64位
solaris <3G 32位
solaris 3G<x<32G 64位
solaris >32G 64位
相關文章
相關標籤/搜索