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)

相关推荐

  • 通勤是什么意思,中国移动通勤流量包什么意思

    技术通勤是什么意思,中国移动通勤流量包什么意思通勤流量就是在上下班通勤时间的指定流量,以郑州移动9.99元通勤流量包为例,10G通勤流量包包含10G国内流量,流量有效期为订购当月每天6:00-9:00,17:00-20:

    生活 2021年11月1日
  • hadoop命令有哪些

    技术hadoop命令有哪些这篇文章主要为大家展示了“hadoop命令有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“hadoop命令有哪些”这篇文章吧。查看:hadoop

    攻略 2021年11月20日
  • 洗发水推荐,有哪些蓬松控油的洗发水推荐

    技术洗发水推荐,有哪些蓬松控油的洗发水推荐先说下我的发质吧,我是头皮油,发丝干,到了夏天头皮更容易出油,所以我基本上春夏都喜欢用清爽洗发水推荐、控油比较好,且洗完之后头发比较蓬松的洗发水。推荐几款我用过觉得清洁力强,洗完

    生活 2021年10月29日
  • JavaScript如何实现标签页切换效果

    技术JavaScript如何实现标签页切换效果小编给大家分享一下JavaScript如何实现标签页切换效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了

    攻略 2021年10月31日
  • go语言怎么创建websocket服务(golang怎么并发聊天服务器)

    技术GO使用socket和channel怎么实现简单控制台聊天室今天就跟大家聊聊有关GO使用socket和channel怎么实现简单控制台聊天室,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大

    攻略 2021年12月20日
  • 一学期是一年还是半年,一学年、是指一学期、还是一年

    技术一学期是一年还是半年,一学年、是指一学期、还是一年一学年是指一年一学期是一年还是半年。 一学年即从当年9月1日到次年的8月31日,暑假是学年分界线,一学年分为2个学期,寒假是学期分界线。 学校的教学年度。一般从秋季始

    生活 2021年10月29日