GG修改器破解版下载地址:https://ghb2023zs.bj.bcebos.com/gg/xgq/ggxgq?GGXGQ
大家好,今天小编为大家分享关于gg修改器为什么游戏打不开_安装了gg修改器游戏打不开的内容,赶快来一起来看看吧。
作者 | Silently9527 责编 | 欧阳姝黎
前言
前几天中午正在和同事最近聊股市较好,这几天每天都可以喝点肉汤,心里还是挺高兴的;正在这个时候收到了线上告警邮件和运维同学的消息,“你们有服务挂了!”,心里一紧,立马打开电脑看来下线上cat监控大盘,发现很多服务都在报错,根据cat上的监控日志很快发现了其中一个服务内存溢出导致其他调用服务也有问题,竟然已经定位到了出问题的服务,那就简单了,没有是重启解决不了的问题,重启之后很快服务都恢复正常了。几分钟之后又报错了,同样也是这个服务内存溢出,经过排查后发现该服务的堆内存被改小了,好家伙,运维同学不讲武德,搞偷袭,趁我没反应过来调了内存,内存调整回去之后服务就恢复了正常。
事后把线上的快照文件拖了下来分析,发现本身这个项目的代码也有些问题,本文就整理了一下JVM常用的分析工具。
命令行工具
在安装完JDK之后在JAVA_HOME/bin目录下JDK已经提供了很多命令行的工具
可能我们最常用的就是java、javac这两个命令,除了这两个命令之外还有提供很多其他的实用工具,本文主要来一起学习对JVM监控诊断工具
虚拟机进程状况工具(jps)
该工具的功能比较单一,与linux中的ps功能类似,用来列出正在运行的虚拟机进程,并显示出运行的主类和进程号
命令格式:jps [option] [hostid]
❝
如果需要查看远程机器的jvm进程需要填写hostid,并且需要使用RMI,比如:rmi://192.168.2.128:12345
❞
常用的选项:
-q : 只显示出虚拟机的进程id(lvmid),省略主类名
-m : 输出启动时传递给主类的参数
-l : 显示出主类的全名,包括jar包路径
-v : 输出虚拟机进程启动时的JVM参数
用于监控虚拟机运行状态信息的命令行工具,可以提供内存,垃圾收集等运行时的数据
命令格式:
jstat [option vmid] [interval [s|ms] [count]]
interval表示间隔多久时间查询一次,count表示查询多少次,比如:每个两秒查询一次进程52412的垃圾收集情况,共查询5次
jstat -gc 52412 2s 5
常用的选项:
-class: 监控类装载,卸载次数和总空间以及加载类的耗时
-gc: 监控java堆的情况
-gcutil: 主要输出各个空间使用的百分比
-gcnew: 主要是监控新生代的GC状况
-gcold: 监控老年代的GC状况
-compiler: 输出JIT编译器编译过的方法和耗时信息
查看堆空间的使用百分比: jstat -gcutil 52412 2s 5
可以通过jinfo实时的查看和调整虚拟机的各项参数;可以通过jps -v查看虚拟机启动时候指定的参数信息,如果需要查看未显示指定的参数默认值也可以通过jinfo -flag
jinfo -flag CMSInitiatingOccupancyFraction 52412
jinfo除了可以查看参数以外,还可以在运行时修改一些允许被修改的参数
jmap用于生成JVM堆的快照文件,除了使用jmap工具,我们通常也会在配置JVM的启动参数-XX:+HeapDumpOnOutOfMemoryError让JVM在发送内存溢出之后自动生成dump文件。
命令格式:jmap [option] vmid
比如生成java堆的快照文件
jmap -dump:live,format=b,file=/Users/huaan9527/Desktop/heap.hprof 59950
常用的选项:
-F: 当虚拟机对-dump选项没有响应时可用选择使用这个参数强制生成快照
-histo: 显示出堆中对象统计信息。
用于生成JVM当前线程的快照信息。通常用于查询什么原因导致线程长时间的停顿,比如:线程死循环,死锁,等待网络/IO
命令格式:jstack [option] vmid
常用的选项:
-F: 当请求不被响应时强制输出
-l:除了显示堆栈外,还需要显示锁的信息
-m: 如果调用到本地方法,显示出C/C++的堆栈
VisualVM 可视化工具
VisualVM是目前JDK自带的功能最强的运行监视和故障处理程序,在VisualVM之前,JDK也提供了一款可视化工具JConsole,由于JConsole的所有功能在VisualVM都有,所以可视化工具大家几乎都选择使用VisualVM。
VisualVM本身是基于Netbean开发的,所以具备了插件扩展功能,安装插件之后上面介绍的所有命令行的工具的功能都可以在VisualVM中使用。可以在在JAVA_HOME/bin目录下执行jvisualvm启动。
插件安装 默认情况VisualVM提供的功能很少,需要我们在菜单栏->工具->插件里面安装插件,我这是全部插件都安装了
应用程序、概述、监视
功能演示
显示出当前本机所有的JVM进程,这里显示的内容和前面说的命令行jps显示的内容一样
当前虚拟机启动信息的展示,比如:JVM启动参数、系统参数
这个页面相当于命令jstat的功能,显示出了CPU, 内存,线程,类装载当前处于什么情况
生成dump文件可以在应用程序窗口右键菜单中选择,也可以在这个页面点击右上角的堆dump
Visual GC 此页主要展示了GC相关的信息,这是在性能调优时常用的页面之一
我们可以写个程序来观看下这个截图各个内存区域的变化情况,为了让图的效果明显需要修改JVM的启动参数
-Xmx100m -Xms100m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/Users/huaan9527/Desktop
public static void main(String[] args) {
List<DataTest> datas = new ArrayList<>;
IntStream.range(0, 10000).forEach(index -> {
datas.add(new DataTest);
try {
Thread.sleep(50);
} catch (InterruptedException e) {
e.printStackTrace;
}
});
System.gc;
}
static class DataTest {
byte bytes = new byte[1024];
}
线程 本页的功能相当于命令行工具jstack,主要是用于检查什么原因导致线程长时间等待,我们写程序来演示下等待外部资源、锁等待、死循环这几种请求
「等待外部资源」
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.println(reader.readLine);
try {
Thread.sleep(1000000);
} catch (InterruptedException e) {
e.printStackTrace;
}
}
选中main线程,右侧会看到当前线程运行到了readBytes,等待键盘输入
当我们在控制台输入之后再次查看main线程的状态,此时进入了TIME_WAIT状态
「锁等待」
public static void main(String[] args) throws IOException, InterruptedException {
Thread thread = createLockThread(new Object);
thread.join;
}
public static Thread createLockThread(final Object lock) {
Thread lockThread = new Thread( -> {
synchronized (lock) {
try {
lock.wait;
} catch (InterruptedException e) {
e.printStackTrace;
}
}
}, "lockThread");
lockThread.start;
return lockThread;
}
lockThread线程在等待lock对象的notify方法被调用,此时处于WAITING状态,在被唤醒之前是不会再分配执行时间
「死循环」
public static void main(String[] args) throws IOException, InterruptedException {
while (true) ;
}
线程一直处于运行状态,从堆栈追踪里可以看出代码一直停留在了191行,在空循环上用尽分配的执行时间
总结
本篇介绍了命令行工具和可视化工具,写到最后文中或许会存在或多或少的不足、错误之处,有建议或者意见也非常欢迎大家给我留言。
预约《大咖来了》直播,赢纪念版卫衣以及保温杯等礼品,在直播间精选留言提问题,若问题被采纳,将直接赠送马克杯!先到先得!
以上就是关于gg修改器为什么游戏打不开_安装了gg修改器游戏打不开的全部内容,希望对大家有帮助。
中文版gg修改器下载,中文版gg修改器下载的魅力 大小:14.14MB4,060人安装 如果您是一位游戏玩家,那么中文版gg修改器下载一定是您不可或缺的工具之一。GG修改……
下载gg修改器安卓下载中文,便捷简单的GG修改器安卓中文版让您游戏更畅享 大小:15.50MB4,297人安装 现代化的游戏市场,越来越多的游戏需要玩家参与多人在线游戏(MMOG)和即时网络游戏……
下载GG修改器 平行空间,gg修改器专用平行空间 大小:9.31MB5,535人安装 7. 平行空间gg修改器手机双开工具,帮助大家更好的进行手机修改操作,随时在线选择……
下载GG游戏修改器Plus免费版.apk,GG游戏修改器手机版 大小:2.16MB4,878人安装 一条围巾,一路牵手;一条街道,一杯奶茶;一个夜空,一个苹果;一条短信,一份祝福;愿……
下载王者荣耀gg修改器中文下载_王者荣耀GG修改器怎么下载 大小:6.66MB5,434人安装 大家好,今天小编为大家分享关于王者荣耀gg修改器中文下载_王者荣耀GG修改器怎么下……
下载GG虚拟空间游戏修改器下载,GG虚拟空间游戏修改器下载:一场游戏改变人生的体验 大小:11.50MB4,423人安装 在玩游戏的过程中,总会遇到一些棘手的问题,比如无法突破关卡、无法获得足够的资源……
下载gg游戏修改器拘束少女, GG游戏修改器让《拘束少女》更加精彩 大小:18.29MB4,142人安装 GG游戏修改器是众多游戏玩家们所熟悉的游戏辅助软件之一,它不仅能够帮助玩家们更加……
下载gg修改器中文怎么下,GG修改器中文版 大小:9.17MB4,596人安装 GG修改器是一款游戏修改工具,能够帮助玩家修改游戏中的一些参数,达到优化游戏、提……
下载GG修改器管网下载中文,GG修改器管网下载中文:让你的游戏世界更加精彩 大小:5.60MB4,190人安装 GG修改器管网下载中文是一款非常优秀的游戏辅助工具,它可以让你的游戏体验更加精彩……
下载gg修改器未root能用吗_gg修改器不root能用吗 大小:7.71MB5,308人安装 大家好,今天小编为大家分享关于gg修改器未root能用吗_gg修改器不root能用吗的内容……
下载