一:换了新硬件之后,调大了-Xms和-Xmx之后,网站不定期出现了停顿的现象
后来发现是因为设置了太大的堆内存,导致Full GC太长,因为Full GC是Stop the world,
对于高性能硬件,可以采用以下方式处理:
使用若干个小集群
1: 单机多应用,采用nginx进行代理,
二:堆外内存溢出情况
java nio采用的是非堆内存,可以用JVM参数-XX:MaxDirectMemorySize设置
三:调用外部命令导致系统变慢
在执行windows的命令的时候通过调用Runtime.getRuntime.exec()很好资源,相当于克隆一个和当前虚拟机环境一样的变量,去执行外部程序
四:改善系统性能
1:升级jdk版本
2:针对jvm设置合理的参数,一般-Xms和-Xmx设置同样大小,避免动态扩容,-Xmn会指定新生代大小,也可以设置方法区的大小,
3:选择合理的垃圾收集器,如果是吞吐量优先的可以选择CMS收集器,还可以设置垃圾收集期的阈值
。。。