用户在应用系统正式部署之后,需要进行一些性能调优,以满足上线后维持最佳的性能。性能调优主要有下面几个方面:
1、调整JVM的内存设置
Server启动时会启动应用服务器,这是一个JVM虚拟机,其内存大小对系统的运行很重要,必须要设置,不能使用默认值。内存主要分成两部分,非堆内存区和堆内存区,前者是存放类和方法的元数据信息;后者存放类的对象实例。一个应用系统,根据复杂程度的不同,对于使用类的多少和对象的多少,设置相应的内存区的大小,内存区设置小了,可能导致系统内存溢出(OOM)或宕机。
非堆内存使用MaxPermSize来设置,堆内存使用-Xmx来设置,如set JAVA_OPTS=-Xms128m -Xmx512m -XX:MaxPermSize=256m -XX:+HeapDumpOnOutOfMemoryError 。-Xms:用来设置最小的堆内存;-Xmx设置最大的堆内存,XX:MaxPermSize设置最大的永久内存。
JVM的内存分为堆内存、非堆内存两部分。堆内存存放生成的对象实例,而非堆内存存放的是类信息、方法信息等。堆内存一般分为3个部分,新生代区(新的类产生放在这个去)、幸存者区(没有夭折的类放在这个区)、养老院区(长寿的类会移到这个区)。一般来说,方法区内存一般难以回收,基本上是逐步增长的,