Tomcat运行Java Web内存溢出的示例分析

技术Tomcat运行Java Web内存溢出的示例分析这篇文章主要介绍Tomcat运行Java Web内存溢出的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!如果JVM里运行的程序, 它的

本文主要介绍了Tomcat运行的Java Web中内存溢出的实例分析,非常详细,具有一定的参考价值。感兴趣的朋友一定要看完!

如果在JVM中运行的程序,其内存堆和持久存储区已满,此时程序仍然想创建一个对象实例,垃圾收集器就会启动,试图释放足够的内存来创建这个对象。此时,如果垃圾收集器无法释放足够的内存,它将抛出OutOfMemoryError内存溢出错误。

SUN JVM的内存管理方式:

SUN JVM类似于人类家族,就是在一个地方创建一个对象,在它长时间占用空间之前,给它多次死亡的机会。SUN JVM将分为:

1.年轻一代,包括伊甸园和两个幸存者空间(从空间和到空间)。

2.老一辈(老一代)

3.*** '的一代(永久一代)

Java虚拟机的运行时数据区一般分类如下(不一定是物理划分):

1.堆:主要存储对象实例,由线程共享。

2.栈:主要存储特定线程的方法调用状态,线程是独占的。

3.本地方法栈:存储本地方法的调用状态,线程是独占的。

4.PC register:学过操作系统课程的人都知道线程是独占的。

5.方法区:主要存储类型信息和线程共享。

因此,在抛出内存溢出错误的时候,一般都会提示内存泄露的种类,一般也都是按照区域进行划分:

1.堆内存泄漏java.lang.out内存错误: Java堆空间:大家都很熟悉,可以通过设置-Xms2048m -Xmx4096m来解决。

2.堆栈内存泄漏:当前线程运行过程中维护的中间变量等信息太多,例如,常见的循环导致堆栈溢出。

3.方法区(永久堆)内存泄漏,即java.lang.out内存错误: perm gen space:原因与类型加载和类型卸载直接相关,可以通过设置-xx3360 max new size=256m-xx3360 max perm size=256m来解决。

通常,当服务器内存太小,无法提供大量的访问服务时,可能会缓存过多的数据对象,导致堆内存溢出。当web应用程序继续扩展,加载的lib库达到一定大小(4M)时,很容易报告PermGen OOM,即方法区溢出。

在Linux服务器中将参数写入环境变量:

导出catalina _ opts='-xms 2048m-xmx 4096m '导出Java _ opts='-xx3360max新大小=256m-xx3360max perm大小=256m' xmx * *不要超过服务器物理内存的80%。

以上就是《Tomcat运行的Java Web内存溢出分析》一文的全部内容。感谢您的阅读!希望分享的内容对大家有所帮助。更多相关知识,请关注行业资讯频道!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/143183.html

(0)

相关推荐

  • qq空白昵称代码复制,王者荣耀战队名空白代码

    技术qq空白昵称代码复制,王者荣耀战队名空白代码在王者荣耀中显示空白名字的原理的是输入一些游戏无法显示的字符即可qq空白昵称代码复制,所以想取空白名字只要输入一些奇葩字符就可以了。不过王者荣耀最新官方规定游戏中不能出现空

    生活 2021年10月30日
  • Java怎么比较两个对象并获取不相等的字段

    技术Java怎么比较两个对象并获取不相等的字段这篇文章主要介绍“Java怎么比较两个对象并获取不相等的字段”,在日常操作中,相信很多人在Java怎么比较两个对象并获取不相等的字段问题上存在疑惑,小编查阅了各式资料,整理出

    攻略 2021年11月25日
  • Prometheus之Alertmanager使用帮助

    技术Prometheus之Alertmanager使用帮助 Prometheus之Alertmanager使用帮助root@node-02:/usr/local/alertmanager# ./aler

    礼包 2021年11月18日
  • 怎么提高java代码的重用性

    技术怎么提高java代码的重用性本篇内容主要讲解“怎么提高java代码的重用性”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么提高java代码的重用性”吧!一、改写类的实例

    攻略 2021年11月21日
  • oraclenumber型深度解析(oracle逻辑读是读哪里的数据)

    技术怎样浅析Oracle的物理读 逻辑读 一致性读 当前模式读怎样浅析Oracle的物理读 逻辑读 一致性读 当前模式读,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简

    攻略 2021年12月20日
  • 如何解析Java常量池与字符串intern

    技术如何解析Java常量池与字符串intern这期内容当中小编将会给大家带来有关如何解析Java常量池与字符串intern,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。在Java应用程

    攻略 2021年11月23日