Linux服务器运行的java内存问题,怎么解决

Linux服务器运行的java内存问题,怎么解决,第1张

VM内存设置小了 或者一次性读的数据过大 例如list vertor 一、内存溢出类型 1、java.lang.OutOfMemoryError: PermGen space JVM管理两种类型的内存,堆和非堆。堆是给开发人员用的上面说的就是,是在JVM启动时创建;非堆是留给JVM自己用的,用来存放类的信息的。它和堆不同,运行期内GC不会释放空间。如果web app用了大量的第三方jar或者应用有太多的class文件而恰好MaxPermSize设置较小,超出了也会导致这块内存的占用过多造成溢出,或者tomcat热部署时侯不会清理前面加载的环境,只会将context更改为新部署的,非堆存的内容就会越来越多。 PermGen space的全称是Permanent Generation space,是指内存的永久保存区域,这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader时就会被放到...

应用比较耗资源的话,tomcat启动时会报内存溢出的错误,修改方法如下:

用vi命令打开tomcat安装目录/bin下的catalina.sh文件

在该文件的第一行(具体在:cygwin=false上面一行)添加如下配置:

JAVA_OPTS="-Xms1024m -Xmx1024m -Xss512K -XX:PermSize=256m -XX:MaxPermSize=256m"

具体的配置参数可根据机器配置调整。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/11045564.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存