栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JVM调优

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JVM调优

JVM调优

目的参数步骤

实例操作


目的

减小响应时间提高吞吐量 参数

-XX:UseXXXGC-Xms和-Xmx-XX:NewRatio-XX:SurvivorRatio-XX:+UseAdaptiveSizePolicy-XX:+HeapDumpOnOutOfMemoryError-XX:HeapDumpPath-XX:MaxTenuringThreshold-Xloggc:/xxx/logs/xxx-gc-%t.log

-XX:+UseGCLogFileRotation
-XX:+NumberOfGCLogFiles=5
-XX:+GCLogFileSize=20M
-XX:+PrintGCDetails
-XX:+PrintGCDateStamps

步骤

熟悉业务场景选择合理的垃圾收集器计算内存需求设定年轻代老年大小设置日志参数压力测试分析日志调整参数 实例操作

运行打包好的jar 对比测试
比对一:nohup java -jar xxx.jar >stock.log 2>&1&

比对二:nohup java -jar -Xmx1500m -Xms1500m -XX:SurvivorRatio=8 -XX:+PrintGCDateStamps -XX:+PrintGCDetails -Xloggc:./gclogs xxx.jar >stock.log 2>&1&

查看是否运行
jps -l

进行模拟10个用户10W次请求
命令:ab -c 10 -n 100000 http://127.0.0.1:9091/stock/xxxx

注:若没有ab命令,安装yum -y install httpd-tools

打印日志:
jstat -gc 4102 5000 20|awk '{print $13,$14,$15,$16,$17}'

最后可以通过gcviewer工具 查看分析


通常遇到CPU 100%或者占用率非常高的时候,可以进行以下方法查找:

使用top 命令

[root@localhost ~]# top

根据进程号,查看堆栈的情况

[root@localhost ~]# jps -l
[root@localhost ~]# jstack 4856

导出文件

[root@localhost ~]# jstack 4856 >> 4856.txt

由于导出的文件内容信息多,需要定位线程信息

[root@localhost ~]# ps -mpp 4856 -o THREAD,tid,time

由于结果查找出来得结果为16进制,需转换成10进制

[root@localhost ~]# printf "%xn" 4856

根据10进制数,进入4856.txt文件查找

[root@localhost ~]# vi  4856.txt

谢谢观看阅读,麻烦点个赞呀呀呀呀呀呀,谢谢~~~~

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/764341.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号