jvm调优总结

来源:互联网 发布:java游戏服务器 pdf 编辑:程序博客网 时间:2024/06/13 18:14
64位系统无jvm内存限制,linux系统可设置最大句柄数开启最大线程
32位系统则对jvm内存有大小限制
年轻代与年老代存放在heap堆中
吞吐量优先的程序一般有一个较大的年轻区和一个较小的年老区
时间优先的程序一般考虑较少年轻代与年老代的停留时间


垃圾回收器算法:
标记清除
复制
标记整理


垃圾回收器:
串行:一般用在数据量小于100M的单CPU程序中
并行:吞吐量优先的中大型企业
并发:时间优先的中大型企业.使用标记清除法,gc不会对堆进行压缩容易导致碎片累积


垃圾回收机制:
scavenge gc:eden区开始gc,清除无效引用存放存留对象到生还区0,生还区0到生还区1,生还区1到年老区
full gc:年老区满,持久区满或System.gc()的显示调用可能会导致full gc.
        full gc会导致应用暂停,对响应时间为几十到几百毫秒的应用是致命的,是传统分代垃圾回收的瓶颈
增量收集:把内存分成若干块,先使用其中一部分内存,gc时把使用的内存中的存活对象放到未使用的内存块中
理论上解决了full gc带来的问题


增量收集的G1算法:先收集活跃小对象的region以便先释放大的内存
1、初始标记:暂停所有线程并扫描对象生成一个bitmap,运行线程,gc时从bitmap中找到内存对象一个一个清理
2、并发标记:初始标记扫描对象阶段新对象操作被记录到缓存日志中
3、最终标记暂停:暂停应用,将缓存日志中的数据放入remebered sets中,启动应用,调用gc进行处理
full-young gc:young regions中内存数量占用到一定数量后触发clean up清理内存操作
partially-young gc:程序会尽量频繁的在应用可接受的暂停时间范围内执行clean up



bitmap是一种数据结构,在iso8583报文中的位图上用到



具体配置修改tomcat的catalina.sh文件


调优工具:jmap、jhat、jstack、jstat 等

1 0
原创粉丝点击