JVM及性能调优
求知不倦
这个作者很懒,什么都没留下…
展开
-
测量web负载的工具
几个比较著名的测量web负载的工具:Apache Benchmark (http://httpd.apache.org)Siege ( http://www.joedog.org/JoeDog/Siege)Apache Jakarta的JMeter ( http://jakarta.apache.org/jmeter)Faban ( http://faban.suns原创 2013-12-26 14:57:18 · 1016 阅读 · 0 评论 -
JVM优化策略
1、由于fullGC比minorGC的成本高很多,因此尽量将new的对象放在新生代中。策略是将新生代空间调大,因为新生代太小,则系统会将对象放到老年代。2、大对象进入老年代。因为如果大对象占用了新生代空间,则会导致系统将大量小的新生代对象放入到老年代中,这对GC来说很不利。因此尽量避免使用短命的大对象。-XX:PretenureSizeThreshold设置对象进入老年代的阀值,对象大小超过这原创 2014-01-01 14:22:40 · 1124 阅读 · 0 评论 -
启动tomcat时,弹出窗口出现错误后一闪而过
在CMD运行startup.bat启动tomcat时,弹出窗口若出现错误后一闪而过,看不到错误信息解决办法:打开startup.bat,通过使用run命令在原有启动窗口显示出错信息。在startup.bat中找到:call "%EXECUTABLE%" start %CMD_LINE_ARGS%,然后将start改为run即可。至此,Tomcat启动就不会弹出新窗口了。原创 2014-03-05 09:08:57 · 2825 阅读 · 0 评论 -
Tomcat设置成NIO时,使用的线程池
设置成NIO时, <Connector port="8088" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads属性是没用的,因为默认使用的是NIO的线程池,除非你使用了executor属性,设置了特定的线程池本人已进行过测试,使用Http11NioProtocol,同时将maxThreads设成200,让后进行1000个并发请求,仍然可以通过,设置成http1.1时是会报错的另外,某些tomcat文档中说Http11Ni原创 2014-11-03 19:52:53 · 2661 阅读 · 1 评论 -
Tomcat常用参数设置
tomcat的默认值在一般情况下都是性能最好的选择,除了堆栈内存外启动tomcat时设置的内存参数及设置准则:-Xms 设置JVM启动时的堆栈内存的大小-Xmx 设置JVM最大的堆栈内存大小一般都建议将这两个值设置成一样大小,因为重新分配时会耗费性能。内存设置过小,会导致tomcat运行过慢,或者容易报OutOfMemoryError错误信息,使运行不正常。内存设置过大,可能出现系统无法分配如此多内存而导致启动tomcat失败,要么正常启动,但耗费过多计算机内存,使其他应用程序无法正常运原创 2013-12-28 23:15:24 · 767 阅读 · 0 评论 -
几种outofmemory的解决方法
几种outofmemory的解决方法:1. java.lang.OutOfMemoryError: PermGen space2. java.lang.OutOfMemoryError: Java heap space原创 2014-11-05 09:42:20 · 19927 阅读 · 5 评论 -
JVM内存模型及垃圾回收算法
JVM内存模型总体架构图及垃圾回收算法原创 2013-12-31 17:29:44 · 5879 阅读 · 1 评论