JVM调优-优化环境

本文探讨了一个从32位到64位服务器升级后,网站速度不升反降的问题,涉及内存管理、GC策略调整、CPU使用率监控和内存飙高等常见技术难题。通过实例解析了PS+PN+CMS、G1等解决方案,并介绍了如何通过jstat、jstack和jmap等工具进行故障诊断和性能调优。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

每天分享知识,欢迎来白嫖!

一、有一个50万PV的资料类网站(从磁盘提取文档到内存)原服务器32位,1.5G 的堆,用户反馈网站比较缓慢,因此公司决定升级,新的服务器为64位,16G 的堆内存,结果用户反馈卡顿十分严重,反而比以前效率更低了

1. 为什么原网站慢? 很多用户浏览数据,很多数据load到内存,内存不足,频繁GC,STW长,响应时间变慢。

2. 为什么会更卡顿? 内存越大,FGC时间越长 。

3. 咋办? PS -> PN + CMS 或者 G1。PS+PO无论怎么设置,卡顿还是会出现。

java对象看产生的大小,回收完还会回收到老年代文档对象本身可以走代理服务器。

二、系统CPU经常100%,如何调优?(面试高频) CPU100%那么一定有线程在占用系统资源

1. 找出哪个进程cpu高(top)

2. 该进程中的哪个线程cpu高(top -Hp)

3. 导出该线程的堆栈 (jstack)

4. 查找哪个方法(栈帧)消耗时间 (jstack)

5. 工作线程占比高 | 垃圾回收线程占比高

三、系统内存飙高,如何查找问题?(面试高频)

1. 堆栈比较多,导出堆内存 (jmap)· 100 · JVM 调优实战

2. 分析 (jhat jvisualvm mat jprofifiler ... )

四、如何监控JVM ? jstat jvisualvm jprofifiler arthas top...像这类的工具我会给大家讲些典型的。

今天主要带大家了解了一些常用的参数,来告诉大家日志怎么样去阅读。还有调优的一个吞吐量、响应时间。什么是调优。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值