1 |
-Duser.timezone=Asia/Shanghai -Xms1024M -Xmx1024M -Djava.security.egd=file:/dev/./urandom -XX:PermSize=128M -XX:MaxPermSize=512M -XX:CompressedClassSpaceSize=128m -XX:MetaspaceSize=200m -XX:MaxMetaspaceSize=200m |
设置时区
1 2 |
-Duser.timezone=Asia/Shanghai #时区 注意:Java程序在启动的时候如果没有指定时区,默认会根据System.getProperty("user.timezone")去获取操作系统配置文件中配置的时区 |
随机数
1 2 3 4 5 |
-Djava.security.egd=file:/dev/./urandom 1.用途:配置Java应用程序中的随机数生成 2.意义:SecureRandom在Java各种组件中使用广泛,可以可靠地产生随机数。但在大量产生随机数的场景下,性能会降低。这时可以使用 "-Djava.security.egd= file:/dev/./urandom"加快随机数产生过程 |
堆内存限制
1 2 3 |
-Xms256M #表示java虚拟机堆区内存初始内存分配的大小,通常为操作系统可用内存的1/64大小即可,但仍需按照实际情况进行分配。 -Xmx1024M #表示java虚拟机堆区内存可被分配的最大上限,通常为操作系统可用内存的1/4大小。 注意:开发过程中,通常会将-Xms 与-Xmx两个参数的配置相同的值,其目的是为了能够在java垃圾回收机制清理完堆区后不需要重新分隔计算堆区的大小而浪费资源。 |
java虚拟机对非堆区内存配置的两个参数:
1 2 3 |
-XX:PermSize=128M #表示非堆区初始内存分配大小(方法区) -XX:MaxPermSize=512M #表示对非堆区分配的内存的最大上限(方法区) https://www.python100.com/html/93082.html |
压缩类空间
1 2 3 4 5 6 7 8 9 |
XX:CompressedClassSpaceSize=128m 默认情况下,-XX:MaxMetaspaceSize是无限的。 当-XX:+UseCompressedClassPointers选项设置为ON(堆<32G的默认设置)时,类将从Metaspace移到称为Compressed Class Space的单独区域。这是为了使用32位值而不是64位来寻址VM类结构。 因此,压缩类空间包含Java类的内部表示形式,而元空间则包含所有其余的元数据:方法,常量池,注释等。 压缩类空间的大小受-XX:CompressedClassSpaceSize限制,默认情况下为1G。 -XX:CompressedClassSpaceSize的最大可能值为3G。 |
元空间
1 2 3 4 5 |
Metaspace相关参数 -XX:MetaspaceSize=200m -XX:MaxMetaspaceSize=200m -XX:MetaspaceSize,初始空间大小,达到该值就会触发垃圾收集进行类型卸载,同时GC会对该值进行调整:如果释放了大量的空间,就适当降低该值;如果释放了很少的空间,那么在不超过MaxMetaspaceSize时,适当提高该值。 -XX:MaxMetaspaceSize,最大空间,默认是没有限制的。如果没有使用该参数来设置类的元数据的大小,其最大可利用空间是整个系统内存的可用空间。 JVM也可以增加本地内存空间来满足类元数据信息的存储。 但是如果没有设置最大值,则可能存在bug导致Metaspace的空间在不停的扩展,会导致机器的内存不足;进而可能出现swap内存被耗尽;最终导致进程直接被系统直接kill掉。如果设置了该参数,当Metaspace剩余空间不足,会抛出java.lang.OutOfMemoryError: Metaspace space -XX:MinMetaspaceFreeRatio,在GC之后,最小的Metaspace剩余空间容量的百分比,减少为分配空间所导致的垃圾收集。 -XX:MaxMetaspaceFreeRatio,在GC之后,最大的Metaspace剩余空间容量的百分比,减少为释放空间所导致的垃圾收集。 |
- 本文固定链接: https://www.yoyoask.com/?p=10775
- 转载请注明: shooter 于 SHOOTER 发表