`

JVM参数调整实例--2

阅读更多
测试二:
设置tomcat内存 CATALINA_OPTS="-Xms3000m -Xmx3000m -Xmn768m -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:CMSInitiatingOccupancyFraction=70",然后使用apache ab 测试;
ab -c 1000 -n 10000 url
同样使用 Jprofiler6 查看运行状况;主要看了 jvm线程, cup 和 CG
jvm线程:运行线程(runnable) 在 10以下,  锁定线程(blocking)在 1000左右 , Net I/O 在 300-500左右, waiting 在几十左右
cpu:占用率最高的是 ognl 的getValue
cg:年轻代同样非常的频繁, 由于增加了内存, 调整了gc参数,老年代在70%的时候gc, 没有出现占满的情况对老年的gc减少很多,gc的 cpu消耗20%-30%左右
在使用ab压力的时候, 同时使用ie打开页面,速度稍慢一点,但在5-10秒内可以正常访问页面, tomcat控制台只出现过一次
(org.apache.jk.common.ChannelSocket   processConnection  
  WARNING:   processCallbacks   status   2  




总结:
    经过上诉两次测试, 发现加大内存后老年代gc次数减少,占有cpu资源明显减少, tomcat 的效率提升非常的明显, 轻松应对了1000的并发测试, tomcat和web程序都是使用jvm, 看来不仅是web程序对内存有需求, 还得考虑 tomcat 自身对内存的需求。有不对的地方欢迎大家指出


疑惑:
    对于tomcat线程有点疑惑, 加大内存后,运行线程怎么会一下这么少了呢, 锁定线程猛增; 在Jprofiler thread views 中找了个线程来查看状态, 发现首先是运行状态, 然后进入锁定状态, 会在锁定状态保持很久, 然后又可能变为运行状态, 或等待状态, 直到消亡,对tomcat的线程处理没研究过不熟悉, 对两次测试的 Jprofiler 的vm线程数据差别这么大, 没能理解, 在完成对高并发的支持 运行线程反而会减少。。。
分享到:
评论

相关推荐

    java范例开发大全

    实例230 查看JVM中所有的线程的活动状况 426 实例231 模仿网络快车下载工具下载文件 428 13.2 多线程的同步与互斥 436 实例232 多线程同步方法的实例 436 实例233 ATM存取一体机(线程同步互斥) 437 实例234 我的钱...

    JAVA上百实例源码以及开源项目源代码

     Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...

    simpledatax-service:将datax改成一个java服务包,支持单jvm同时运行多个实例,整合编程代码,提供api调用接口,可以直接集成到现有服务框架

    新增参数对象作为入参,封装接口,提取关键参数的配置。 修改内部调度机制,可删除睡眠收集任务执行状态的机制,修改为各个任务执行完成时汇报情况,使用未来获取返回结果,可以稍微提高下效率。 新增返回调度结果...

    Java范例开发大全(全书源程序)

    实例230 查看JVM中所有的线程的活动状况 426 实例231 模仿网络快车下载工具下载文件 428 13.2 多线程的同步与互斥 436 实例232 多线程同步方法的实例 436 实例233 ATM存取一体机(线程同步互斥) 437 实例234 ...

    Java范例开发大全 (源程序)

     实例103 字符串对齐调整器 137  实例104 字符串的加密 139  实例105 使用正则表达式验证电话号码的格式 141  6.2 字符串缓存类StringBuffer 143  实例106 创建字符串缓存类 143  实例107 提取单个字符 ...

    java范例开发大全(pdf&源码)

    实例230 查看JVM中所有的线程的活动状况 426 实例231 模仿网络快车下载工具下载文件 428 13.2 多线程的同步与互斥 436 实例232 多线程同步方法的实例 436 实例233 ATM存取一体机(线程同步互斥) 437 实例234 我的钱...

    java范例开发大全源代码

     实例103 字符串对齐调整器 137  实例104 字符串的加密 139  实例105 使用正则表达式验证电话号码的格式 141  6.2 字符串缓存类StringBuffer 143  实例106 创建字符串缓存类 143  实例107 提取单个...

    2024最新的面试题来了

    模块化编程与热插拔、Java单例防止反射漏洞攻击、JVM常用配置...这些参数可以调整JVM的性能、内存管理、垃圾回收等方面的行为,以满足应用程序的需求。常用的配置参数包括堆内存大小、垃圾回收算法、线程堆栈大小等。

    JAVA上百实例源码以及开源项目

     Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...

    易语言程序免安装版下载

     支持库开发框架调整是扩展性调整,比较好的做到了向前向后兼容。即,新版支持库可被旧版易语言或易程序使用,旧版支持库也可被新版易语言或易程序使用(只是不支持静态编译)。  静态编译后的易语言EXE/DLL之间...

    oracle 11g安装配置

    软件环境的一般要求 RHEL 5.x系统、RHEL 6.x系统 图形桌面环境 + 开发工具 + 中文Java...
glibc-32bit-8.1-9 
glibc-devel-32bit-8.1-9
compat-libstdc++-33-3.2.3-47.3.x86_64.rpm 
libaio-0.3.105-2.x86_64.rpm

    java 面试题 总结

    round方法返回与参数最接近的长整数,参数加1/2后求其floor. 27、String s = new String("xyz");创建了几个String Object? 两个 28、设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序...

    java开源包1

    使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,时间显示和处理方法前帧。 Java的PList类库 Blister Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用...

    java开源包10

    使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,时间显示和处理方法前帧。 Java的PList类库 Blister Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用...

    超级有影响力霸气的Java面试题大全文档

    round方法返回与参数最接近的长整数,参数加1/2后求其floor. 30、String s = new String("xyz");创建了几个String Object? 两个 31、EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的? ...

    Spring.3.x企业应用开发实战(完整版).part2

     《Spring3.x企业应用开发实战》是在《精通Spring2.x——企业应用开发详解》的基础上,经过历时一年的重大调整改版而成的,本书延续了上一版本追求深度,注重原理,不停留在技术表面的写作风格,力求使读者在熟练...

    java开源包2

    使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,时间显示和处理方法前帧。 Java的PList类库 Blister Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用...

    Spring3.x企业应用开发实战(完整版) part1

     《Spring3.x企业应用开发实战》是在《精通Spring2.x——企业应用开发详解》的基础上,经过历时一年的重大调整改版而成的,本书延续了上一版本追求深度,注重原理,不停留在技术表面的写作风格,力求使读者在熟练...

    java面试题

    客户机:通过在JNLP文件中设置参数来调整客户端JVM 47 64. 什么时候用assert。 47 65. 什么是java序列化,如何实现java序列化? 48 65.1. java序列化、反序列化 48 65.2. 对象的序列化主要有两种用途: 48 65.3. ...

Global site tag (gtag.js) - Google Analytics