虚拟机调优的解决办法

  • 来源:
  • 更新日期:2018-05-21

摘要:针对StackOverflowError:首先栈溢出会输出异常信息根据信息查看对应的方法调用是否出现无限调用、或者栈帧过大等代码逻辑上的问题可以通过修改代码逻辑解决。

 针对StackOverflowError:首先栈溢出会输出异常信息根据信息查看对应的方法调用是否出现无限调用、或者栈帧过大等代码逻辑上的问题可以通过修改代码逻辑解决。

如果确确实实需要更大的栈容量可以检查并调大栈容量:-Xss16m
内存泄露的迹象:老年代每次垃圾回收的时候总是不能全部回收一次比一次占用的内存多
针对OutOfMemoryError:首先检查是否创建过多的线程减少线程数
2-160Q0111130B2.jpg
有了堆信息查看方面的功能,我们一般可以顺利解决以下问题:
年老代年轻代大小划分是否合理
内存泄漏
垃圾回收算法设置是否合理
内存泄漏的现象:
常常地程序内存泄漏的最初迹象发生在出错之后在你的程序中得到一个OutOfMemoryError。
这种情况通常发生在产品环境中而在那里你希望内存泄漏尽可能的少调试的可能性也达到最小。
常常内存泄漏的一个标志是OutOfMemoryError有可能应用程序的确用了太多的内存;这个时候你既不能增加JVM的堆的数量也不能改变你的程序而使得他减少内存使用。
但是在大多数情况下一个OutOfMemoryError是内存泄漏的标志但是怎么分辨呢?可以用继续监听GC的活动看看随时间的流逝内存使用量是否会增加如果有程序中一定存在内存泄漏这个方式解决。
以上就是小编对于虚拟机调优的解决方式的介绍。