一次与笨神,阿飞近距离接触修改JVM
今天在JVMPocket群里面看见,阿牛发了一个gc截图,之后ak47截图了说特别恐怖,我就觉得好奇,去看看服务情况,截图日志如下
关于jstat命令详情可以参考:https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jstat.html
高手就是高手,就通过这个,直接提出1,就是达到old的92%的阈值了 不断做cms gc 2.估计是不断做system gc这些都是猜测,让执行
jstat -gccause pid 看看情况,为什么说要执行gccause呢?
尤其ygc没有,只有fgc,那gccause出来的一定就是我们想要的
如果有ygc,这个命令就不好用了,很容易吧我们想要的东西覆盖
看看jstat的说明
Jstat是JDK自带的一个轻量级小工具。全称“Java Virtual Machine statistics monitoring tool”,它位于Java的bin目录下,主要利用JVM内建的指令对Java应用程序的资源和性能进行实时的命令行的监控,包括了对Heap size和垃圾回收状况的监控。可见,Jstat是轻量级的、专门针对JVM的工具,非常适用。
jstat工具特别强大,有众多的可选项,详细查看堆内各个部分的使用量,以及加载类的数量。使用时,需加上查看进程的进程id,和所选参数。参考格式如下:
jstat -options
可以列出当前JVM版本支持的选项,常见的有
- l class (类加载器)
- l compiler (JIT)
- l gc (GC堆状态)
- l gccapacity (各区大小)
- l gccause (最近一次GC统计和原因)
- l gcnew (新区统计)
- l gcnewcapacity (新区大小)
- l gcold (老区统计)
- l gcoldcapacity (老区大小)
- l gcpermcapacity (永久区大小)
- l gcutil (GC统计汇总)
- l printcompilation (HotSpot编译统计)
通过这个就排除了是执行system gc
在通过
jstat -gc pid 查看gc堆状态
看到这里大家应该都看出问题了,我靠什么情况,old512K
把jvm参数贴出:
-Xms2048m -Xmx5120m -XX:PermSize=4096M -XX:-HeapDumpOnOutOfMemoryError -XX:MaxNewSize=5120m -XX:MaxPermSize=3072m
-Xmx5120m MaxNewSize=5120m old就没有空间了
修改参数
-Xms5120m -Xmx5120m -XX:PermSize=128M -XX:MaxPermSize=512M -XX:-HeapDumpOnOutOfMemoryError -Xmn1512M
再观察情况,
jstat -gcutil pid 3s 30,看一下90s内ygc次数和ygct的时间变化
完美,一次0.005,才5ms
有个参数可以把ygc耗时花在哪里打出来
刚刚说的那个参数是:-XX:+PrintGCApplicationStoppedTime
该参数如何参考,查看呢? 在微信小程序里面搜索:JVMPocket,这个小程序是笨神大大提供的
结果如下:
万能的好工具!!!!
这几个参数建议也加上去
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/data/log/gclog/ -Xloggc:/data/log/gclog/gc.log -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly
显示申明cms+ParNew,设定old区75%时就回收
但是应用启动前需要提前创建目录/data/log/gclog/
参数不明白啥意思 去搜索微信小程序
最后感谢笨神,感谢阿飞!
一次与笨神,阿飞近距离接触修改JVM相关推荐
- 这可能是你与 AI 大神们近距离接触的唯一机会……
明人不说暗话: 作为粤海街头放飞梦想的有志青年,他们可能是国内最大胆的「狗仔队」. 从2016年成立至今,他们报道过: 国内外数十场 AI 学术会议动态,写下老中青研究者们在会场前线的精神风采 AI ...
- 工业组态领头羊--组态王开始涉足.net程序开发(与林伟先生一次近距离接触)...
最近为了推广我们的嵌入式设备,决定和组态王进行深层次的合作,昨天林伟先生一行人来到我们公司进行相关合作商谈,我有幸参与其中与林伟先生有了近距离接触的机会. 在我们总经理介绍我的时候,林总说好像见过我, ...
- Spring MVC各组件近距离接触--下下--05
Spring MVC各组件近距离接触--下下--05 各司其职的View View实现原理回顾 可用的View实现类 AbstractUrlBasedView 1.使用JSP技术的view实现 2.使 ...
- 漂洋过海,与Splunk第一次近距离接触!
第一次听说Splunk,源于几年前的一次采访,被采访的创业公司对标的就是Splunk,并要做中国的Splunk.如今,几年过去了,国内外对标Splunk的企业越来越多. 这让我不得不去关注Splunk ...
- [转]为什么你需要近距离接触Rust 1.0
为什么你需要近距离接触Rust 1.0 经过几年的迭代改进,Rust编程语言日前发布1.0版本.作为一种现代系统语言,Rust从大量语言(如C/C++)中取其精髓,去其糟粕,同时具备底层控制.高性能和 ...
- 首次开放测试TCL QUHD让外界近距离接触量子点技术
随着电视行业的迅猛发展,近年来,黑科技层出不穷,比如在显示技术方面,随着TCL QUHD量子点电视的推出,业界认为,未来量子点技术有望彻底革新电视产品,不过,由于消费者对这类技术缺乏足够的了解,所以厂 ...
- 原神服务端建模修改模型贴图(SpecialK)教程
原神服务端建模修改模型贴图(SpecialK)教程 我是艾西,今天跟大家闲聊一下原神建模修改模型等.在一个游戏里开发者会按照自己这个游戏的大方向去运营,而总是有一些小伙伴有不一样的需求,如果是建模拥有 ...
- 报名 | 想在硅谷近距离接触蚂蚁金服的CTO和一众技术高管?这个机会一定不能错过!...
想了解蚂蚁金服?想和蚂蚁金服成为合作伙伴?想在蚂蚁金服找到工作?来这场大会就对了! 去年,包含支付宝业务的蚂蚁金服完成了 45 亿美元融资,创造了当时全球互联网行业单笔私募融资的记录,也成为了全球估 ...
- 【多图】近距离接触甲骨文总裁马克赫德,Oracle在上海香格里拉酒店数据中心优化专题研讨会...
今天有闲去了甲骨文在上海陆家嘴香格里拉酒店举办的<优化数据中心>研讨会, 近距离一睹了Oracle总裁马克赫德(Mark Hurd)的风采, 总体来说台上的赫德还是比较洒脱和萌的:) ...
最新文章
- mysql explain 解释
- 顶会快讯|5篇AAAI2020相关论文抢先看(附GitHub代码地址)
- 如何去除Eclipse Maven插件里关于Managed version的警告消息
- java程序一写文件就崩溃_为什么直接修改java的.class文件会导致程序崩溃
- mysql have_mysql having的用法
- 【安全】Ceotos 7.5.1804 安装openldap 2.4.44
- 【紫书】(UVa12096) The SetStack Computer
- 转:Python网页解析:BeautifulSoup vs lxml.html
- Java实现坦克大战(源码全)
- PB通过VDN实现Http上传、下载
- 一些常用外设DHT11,sg90
- 思维导图----百度百科
- 常用地图投影转换公式 (转载)
- Android Studio中如何将ijkplayer 0.6.3导入自己的项目中并使用
- 6.计算机系统能力创新实践,计算机考核要重实践能力、培养创新精神
- diskgenius系统迁移_手把手教你如何优化windows7操作系统
- java base64转图片
- 吾父马达加斯加之旅-1
- 漂亮实用的后台网站大全
- Nginx中请求大小的限制的设置