在运行 Java 应用程序时,可以通过 JVM 的命令行参数来配置 JVM 的行为。以下是一些 JVM 常用的命令行参数:
堆内存设置:
-Xms<size>
:设置 JVM 初始堆大小。-Xmx<size>
:设置 JVM 最大堆大小。-Xmn<size>
:设置新生代大小。-XX:MaxPermSize=size
:设置永久代(Java 8 及之前版本)或元空间(Java 8 及之后版本)大小。
垃圾回收相关:
-XX:+UseSerialGC
:使用串行垃圾回收器。-XX:+UseParallelGC
:使用并行垃圾回收器。-XX:+UseConcMarkSweepGC
:使用 CMS 垃圾回收器。-XX:+UseG1GC
:使用 G1 垃圾回收器。
性能调优:
-XX:+AggressiveOpts
:启用侵略性优化。-XX:+OptimizeStringConcat
:优化字符串拼接操作。-XX:+UseCompressedOops
:启用压缩指针。
诊断和监控:
-verbose:gc
:打印 GC 日志。-Xloggc:<filename>
:将 GC 日志输出到指定文件。-XX:+HeapDumpOnOutOfMemoryError
:在 OutOfMemoryError 发生时生成堆转储文件。
调试相关:
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=<port>
:启用远程调试。
其他常用参数:
-D<property>=<value>
:设置系统属性。-server
:使用服务器模式。