首页 > 免root版 > 电脑gg修改器需要root吗_gg游戏修改器需要root吗
电脑gg修改器需要root吗_gg游戏修改器需要root吗
  • 电脑gg修改器需要root吗_gg游戏修改器需要root吗

  • 大小:12.14MB日期:2024-04-25 14:57:48
  • 语言:简体中文系统:Android
绿色无毒,安全可靠!部分设备误报拦截请通过!

应用详情

大家好,今天小编为大家分享关于电脑gg修改器需要root吗_gg游戏修改器需要root吗的内容,赶快来一起来看看吧。

本文翻译自:https://www./en/blog/collecting-and-reading-g1-garbage-collector-logs-part-2?source=author&term=22991

这篇文章将深入研究G1的日志和调优参数。为了在实际工作中对G1进行调优,作为开发者的你需要理解G1垃圾收集器的每个步骤,以及每个步骤在整个垃圾收集周期中的作用。为了方便读者学习,这篇文章将G1的日志参数分为等级递增的三块,这篇文章将会分别介绍每一部分参数的作用和调优时候使用的场景。

  1. 基础参数 – 在生产中使用G1收集器,必须使用这些参数
  2. 高级参数 – 随着应用的成熟或业务负载的增加,需要使用这些参数针对某些问题进行调优。
  3. Debug参数 – 这些参数是用来解决特定的性能问题,如果某个问题在非生产环境中无法复现,才会在生产环境中使用这些参数排查问题。

基础参数

如果你要在生产环境中使用G1 GC,下面这些跟日志相关的参数是必备的,有了这些参数,你才能排查基本的垃圾回收问题。

使用-XX:GCLogFileSize设置合适的GC日志文件大小,使用-XX:NumberOfGCLogFiles设置要保留的GC日志文件个数,使用-Xloggc:/path/to/gc.log设置GC日志文件的位置,通过上面三个参数保留应用在运行过程中的GC日志信息,我建议最少保留一个星期的GC日志,这样应用的运行时信息足够多的,方便排查问题。

新生代收集

和其他垃圾收集器一样,G1也使用-XX:PrintGCDetails打印出详细的垃圾收集日志,下面这张图是新生代收集的标准流程,我在这里将它分成了6个步骤:

  1. 四个关键信息
  1. 列出了新生代收集中并行收集的详细过程
  1. 列出了新生代GC中的一些任务:
  1. 包含一些扩展功能
  1. 展示了不同代的大小变化,以及堆大小的自适应调整。
  1. 第6点展示了本次新生代垃圾收集的时间

并发垃圾收集

G1的第二种收集活动是并发垃圾收集,并发垃圾收集的触发条件有很多,但是做的工作都相同,它的日志如下图所示:

  1. 标志着并发垃圾收集阶段的开始:
  1. 表示第并发标记阶段做的第一个事情:根分区扫描
  1. 表示并发标记阶段
  1. 重新标记阶段,会Stop the World
  1. 清理阶段,也会Stop the World
  1. 并发清理阶段

混合收集

在并发收集阶段结束后,你会看到混合收集阶段的日志,如下图所示,该日志的大部分跟之前讨论的新生代收集相同,只有第1部分不一样:GC pause(G1 Evacuation Pause)(mixed),0.0129474s,这一行表示这是一个混合垃圾收集周期;在混合垃圾收集处理的CSet不仅包括新生代的分区,还包括老年代分区——也就是并发标记阶段标记出来的那些老年代分区。

Full GC

如果堆内存空间不足以分配新的对象,或者是Metasapce空间使用率达到了设定的阈值,那么就会触发Full GC——你在使用G1的时候应该尽量避免这种情况发生,因为G1的Full Gc是单线程、会Stop The World,代价非常高。Full GC的日志如下图所示,从中你可以看出三类信息

  1. Full GC的原因,这个图里是Allocation Failure,还有一个常见的原因是Metadata GC Threshold;
  2. Full GC发生的频率,每隔几天发生一次Full GC还可以接受,但是每隔1小时发生一次Full GC则不可接受;
  3. Full GC的耗时,这张图里的Full GC耗时150ms(PS:按照我的经验,实际运行中如果发生Full GC,耗时会比这个多很多)

基础配置参数中,我这里还想介绍两个:-XX:+PrintGCApplicationStoppedTime和-XX:+PrintGCApplicationConcurrentTime,这两个参数也可以为你提供有用的信息,如下图所示:

  1. 记录了应用线程在安全点被暂停的总时间(也就是STW的总时间)
  2. 记录了让所有应用线程进入安全点所花费的总时间
  3. 记录了在两个安全点之间应用线程运行的时间

总结

这篇文章只是翻译了原文的第一部分,基础参数篇,我接下来会有一篇或两篇文章完成原文的高级参数和Debug参数两部分。——

本号(javaadu)专注于后端技术、JVM问题排查和优化、Java面试题、个人成长和自我管理等主题,为读者提供一线开发者的工作和成长经验,期待你能在这里有所收获。

以上就是关于电脑gg修改器需要root吗_gg游戏修改器需要root吗的全部内容,感谢大家的浏览观看,如果你喜欢本站的文章可以CTRL+D收藏哦。

相关文章

热门下载

大家还在搜