社区
Java
帖子详情
-verbose:gc不生效怎么办?
qq_28654325
2018-04-19 05:15:44
eclipse中设置-verbose:gc 可是 控制台不输出怎么办?求助。。。
...全文
932
回复
打赏
收藏
-verbose:gc不生效怎么办?
eclipse中设置-verbose:gc 可是 控制台不输出怎么办?求助。。。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
JVM 配置
GC
日志
通过-XX:+Use
GC
LogfileRotation -XX:NumberOf
GC
Logfiles=N -XX:
GC
LogfileSize=N标志可以控制日志文件的循环。多种方法都能开启
GC
的日志功能,其中包括:使用-
verbose
:
gc
或-XX:+Print
GC
这两个标志中的任意一个能创建基本的
GC
日志。除了使用详细的
GC
日志,我们还推荐使用-XX:+Print
GC
TimeStamps或者-XX:+Print
GC
DateStamps,由于日期戳需要进行格式化,所以它的效率可能会受轻微的影响,
JVM调优参数大全及G1
GC
调优
一、JVM常见参数 1、标准参数 -
verbose
:class 打印每个class信息 -
verbose
:
gc
打印每次
gc
信息 2、非标参数 -X -Xlog
gc
:filename 设置
GC
log文件的位置 -Xlog
gc
:log/
gc
.log -Xms大小 设置堆的初始化大小 -Xmx2048m =-XX:InitialHeapSize -Xmx大小 设置堆的最大大小 -Xms1024m =-XX:MaxHeapSize 一般Xms=Xmx,防止扩容和缩容 -Xmn大小 设置年轻代大小(初始化和最大
-XX:+DisableExplicit
GC
弊端
总结: 如果jvm参数中设置了-XX:+DisableExplicit
GC
,那么代码中手动调用System.
gc
()就不会生效。而有些框架中因为是使用的堆外内存,必须手动调用System.
gc
()来释放。如果禁用掉就会导致堆外内存使用一直增长,造成内存泄露。 详解: 直接内存与System.
gc
() System.
gc
()默认会触发一次Full
GC
,如果在代码中不小心调用了System.
gc
()会导致JVM间歇性的暂停,但有些NIO框架 比如Netty框架经常会使用DirectByteBuffer来分配堆
system.
gc
()和-XX:+DisableExplicit
GC
启动参数,以及DirectByteBuffer的内存释放
我之前的一篇博客:java中使用堆外内存,关于内存回收需要注意的事和没有解决的遗留问题(等大神解答)介绍了java堆外内存的使用,以及堆外内存的释放。那篇博客遗留了一个问题:DirectByteBuffer究竟是如何释放堆外内存的?本文主要是解决下那篇博客的遗留问题。 首先我们修改下JVM的启动参数,重新运行之前博客中的代码。JVM启动参数和测试代码如下: -
verbose
:
gc
-X...
seata 1.4.1启动报:-Xlog
gc
is deprecated
问题描述 seata 1.4.1启动报:-Xlog
gc
is deprecated,具体报错截图如下: 从这个报错中,可以看出启动参数-Xlog
gc
过时了,提示我们用-Xlog:
gc
:,原因其实也不难猜测,因为我的JDK版本用的是11,所以参数发生了变化。 问题解决 我们修改下seata-server.sh,将-Xlog
gc
改为-Xlog:
gc
: 修改之后的内容如下: exec "$JAVACMD" $JAVA_OPTS -server -Xmx2048m -Xms2048m -Xmn1024m -Xss5
Java
50,527
社区成员
85,606
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章