高并发时,JVM调优
现象:在分布式部署时,单个服务的虚拟机不断变大,直到内存被用的所剩无几,然后出现各种各样的异常解决思路:优化虚拟机堆的空间大小,根据实际物理内存的大小进行比例分配,并且,堆不进行自动扩展。然后使用ParNew+CMS进行垃圾回收,在多线程高并发的情况下,表现很好export CATALINA_OPTS="$CATALINA_OPTS -Xms3000m"
·
现象:在分布式部署时,单个服务的虚拟机不断变大,直到内存被用的所剩无几,然后出现各种各样的异常
解决思路:优化虚拟机堆的空间大小,根据实际物理内存的大小进行比例分配,并且,堆不进行自动扩展。然后使用ParNew+CMS进行垃圾回收,在多线程高并发的情况下,表现很好
export CATALINA_OPTS="$CATALINA_OPTS -Xms3000m" //堆初始值
export CATALINA_OPTS="$CATALINA_OPTS -Xmx3000m" //堆最大值export CATALINA_OPTS="$CATALINA_OPTS -XX:MaxPermSize=256m" //Java虚拟机永久代大小最大值
export CATALINA_OPTS="$CATALINA_OPTS -Xmn512m" //堆最小值
export CATALINE_OPTS="$CATALINA_OPTS -XX:+UseConcMarkSweepGC" //使用CMS垃圾收集器
export CATALINA_OPTS="$CATALINA_OPTS -XX:+UseParNewGC" //使用parallel New垃圾收集器
更多推荐
已为社区贡献1条内容
所有评论(0)