tomcat优化jvm运行时内存区域.ppt

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

Tomat性能优化——由Tomcat内存溢出,初步了解JVM架构——@yuhy

目录Tomcat内存溢出Tomcat性能优化Java体系介绍Java运行时内存区域2

Tomcat内存溢出硬件、网络带宽以及服务端操作系统的选择都会影响Tomcat的性能。?1.OutOfMemoryError:Javaheapspace?Java堆溢出

2.OutOfMemoryError:PermGenspace?永久保存区域溢出

3

Tomcat性能优化1)OutOfMemoryError:Javaheapspace??????JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置.JVM在启动的时候会自动设置Heapsize的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn-Xms-Xmx等选项可进行设置。Heapsize的大小是YoungGeneration和TenuredGeneraion之和。

4

Tomcat性能优化2)OutOfMemoryError:PermGenspace??????PermGenspace的全称是PermanentGenerationspace,是指内存的永久保存区域,这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader时就会被放到PermGenspace中,它和存放类实例(Instance)的Heap区域不同,GC(GarbageCollection)不会在主程序运行期对PermGenspace进行清理,所以如果你的应用中有很CLASS的话,就很可能出现PermGenspace错误,这种错误常见在web服务器对JSP进行precompile的时候。如果你的WEBAPP下都用了大量的第三方jar,其大小超过了jvm默认的大小(4M)那么就会产生此错误信息了。

5

Tomcat性能优化硬件、网络带宽以及服务端操作系统的选择都会影响Tomcat的性能。由于Tomcat的运行依赖于JVM,Tomcat的调整主要分为两种(1)外部性能调整?????????调整非Tomcat组件,如Tomcat运行的操作系统和运行Tomcat的

Java虚拟机。(2)自身性能调整????????修改Tomcat自身的参数,调整Tomcat配置文件中的参数。6

Tomcat性能优化——外部性能调整Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个Java虚拟机。因次可以通过对JVM的优化,来提高Tomcat的运行效率1)JVM动态库版本的选择?????????client:?针对桌面应用优化特点:加载速度快?????????server?:针对服务器应用优化特点:加载速度较慢,运行速度快???????注意!jvmclient中能运行的程序有可能在jvmserver中运行出错,所以这样的话最好在开发、测试阶段都使用jvmserver,保持和服务器相同。因此种问题目前不太常见,或者可在部署前利用server版进行验证测试后部署。7

Tomcat性能优化——外部性能调整Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个Java虚拟机。因次可以通过对JVM的优化,来提高Tomcat的运行效率JVM动态库版本切换方法修改%JAVA_HOME%/jre/lib/i386/jvm.cfg文件?????8

Tomcat性能优化——外部性能调整2)JVM内存设置???????可以通过java-XmxXXXXM–version命令测试JVM支持的最大内存如果执行正常就表示指定的内存大小可用,否则会打印错误信息???????JVM初始化堆的大小?-Xmssize:?虚拟机在启动时向系统申请的内存的大小。使用于应用程序在大负载的情况下会急剧地占用更多的内存,如果虚拟机启动时设置使用的内存比较小而在这种情况下有许多对象进行初始化,虚拟机就必须重复地增加内存来满足使用。一般把-Xms和-Xmx设为一样大。???????JVM堆的最大值?Xmxsize:受限于系统可使用的物理内存,使用于数据量较大的应用程序会使用持久对象,内存使用有可能迅速增长当应用程序需要的内存超出堆的最大值时虚拟机就会提示内存溢出,并且导致应用

文档评论(0)

gpcjc1996 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档