常见的JVM参数配置( 二 )

  • -XX:+UseStringDeduplication: java 8u20版本引入了这个 JVM 参数,用来减少通过创建太多相同 String 的实例带来的不必要的内存使用; 这通过将重复的 String 值减少为单个全局 char []数组来优化堆内存
  • -XX:+UseLwpsynchronization: 设置基于 LWP (轻量级进程)的同步策略,而不是基于线程的同步策略
  • -XX:LargePageSizeInBytes: 设置用于 Java 堆的 Large Page大小; 它采用 gb / mb / kb 的参数; 使用较大的页面大小,我们可以更好地利用虚拟内存硬件资源; 然而,这可能会导致 PermGen 的空间大小变大,这反过来会迫使减小 Java 堆空间的大小
  • -XX:MaxHeapFreeRatio: 设置 GC 之后堆空闲的最大百分比,以避免收缩 。
  • -XX:MinHeapFreeRatio: 设置 GC 之后堆空闲的最小百分比,以避免扩展; 为了监视堆使用情况,可以使用 JDK 附带的 VisualVM 。
  • -XX:SurvivorRatio: Eden区和幸存者空间大小的比率——例如,-XX:SurvivorRatio=6 将每个幸存者空间和Eden区的比率设置为1:6
  • -XX:+UseLargePages: 如果系统支持, 则使用大的页面内存,请注意,如果使用这个 JVM 参数,OpenJDK 7会崩溃
  • -XX:+UseStringCache: 启用 String 池中可用的常用分配字符串的缓存
  • -XX:+UseCompressedStrings: 对 String 对象使用 byte []类型,该类型可以用纯 ASCII 格式表示
  • -XX:+OptimizeStringConcat: 它在可能的情况下优化字符串串联操作
  • 总结在这篇简短的文章中,我们了解了一些重要的 JVM 参数,这些参数可用于调优和提高应用程序性能,其中一些还可以用于调试 。




    推荐阅读