1.参数设置实例:
-Xmx3550m -xms3550m -Xss128k -XX:MetaspaceSize=256m -XX:+PrintCommandLineFlags -XX:+PrintGCDetails -XX:+UseSerialGC
参数说明:
-Xmx3550m:设置JVM最大可用内存为3550M。等价于-XX:InitialHeapSize。
-xms3550m:设置JVM促使内存为3550m。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。等价于-XX:MaxHeapSize
-Xss128k:设置每个线程的堆栈大小。根据应用的线程所需内存大小进行调整。在相同物理内存下,减小这个值能生成更多的线程。但是操作系统对一个进程内的线程数还是有限制的,不能无限生成,经验值在3000~5000左右。
JVM给了三种选择:串行收集器、并行收集器、并发收集器,但是串行收集器只适用于小数据量的情况,所以这里的选择主要针对并行收集器和并发收集器。默认情况下,JDK5.0以前都是使用串行收集器,如果想使用其他收集器需要在启动时加入相应参数。JDK5.0以后,JVM会根据当前系统配置进行判断。
-XX:MetaspaceSize:元空间初始大小,一般要修改。默认情况下,64位服务器,16G内存,元空间默认大小只有21MB,一旦元空间的大小触及这个高水位线,就会触发Full GC并卸载没有用的类,然后重置高水位线的值。容易造成元空间内存不够用,报OOM。建议将 -XX:MetaspaceSize设置为较高的值。
-XX:+PrintGCDetails: 搜集gc详细日志信息。
-XX:+UseSerialGC:串行收集器。jdk8默认并行收集器。并发收集器,但是串行收集器只适用于小数据量的情况,所以这里的选择主要针对并行收集器和并发收集器
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。