内容简介:使用使用启动
构建一个 jar 包程序
使用 Spring Boot
构建一个简单的 web
程序,可以直接使用 java -jar
来启动。
@RestController
@RequestMapping("/root")
@SpringBootApplication
public class SbDemoApplication {
public static void main(String[] args) {
SpringApplication.run(SbDemoApplication.class, args);
}
@RequestMapping("/hello")
public String hello() {
return "Hello";
}
}
启动
使用 -verbose:gc
或 -XX:+PrintGC
这两个参数可以创建基本的 GC 日志,使用 -XX:+PrintGCDetails
可以创建更加详细的日志。
$ java -jar -XX:+PrintGCDetails sb-demo.jar [0.002s][warning][gc] -XX:+PrintGCDetails is deprecated. Will use -Xlog:gc* instead. [0.009s][info ][gc,heap] Heap region size: 1M [0.013s][info ][gc ] Using G1 [0.013s][info ][gc,heap,coops] Heap address: 0x0000000740000000, size: 2048 MB, Compressed Oops mode: Zero based, Oop shift amount: 3
启动 sb-demo.jar
发现提示 -XX:+PrintGCDetails
已经不推荐使用了,要使用 -Xlog:gc*
。那我只好去 Oracle
的网站查询 -Xlog
如何使用,我使用的是 JDK 10
,那就查询这个版本的 Tools and Commands Reference
.
$ java -jar -Xlog:gc sb-demo.jar [0.010s][info][gc] Using G1 [0.492s][info][gc] GC(0) Pause Young (G1 Evacuation Pause) 14M->2M(128M) 5.058ms
使用上面的命令就能开启 gc
日志了,默认是 info
级别的,可以使用下面的方式修改 gc
日志的级别
$ java -jar -Xlog:gc=debug sb-demo.jar [0.007s][debug][gc] ConcGCThreads: 1 [0.007s][debug][gc] ParallelGCThreads: 4 [0.008s][debug][gc] Initialize mark stack with 4096 chunks, maximum 16384 [0.010s][info ][gc] Using G1 [0.499s][info ][gc] GC(0) Pause Young (G1 Evacuation Pause) 14M->2M(128M) 4.556ms
上面的方式只能在标准输出中看到打印日志,我们可以设置 gc
日志输出到文件中,便于我们分析问题。
$ java -jar -Xlog:gc=debug:file=gc.log sb-demo.jar
使用上面的方式就把 gc
日志输出到了文件 gc.log
中。
$ head gc.log [0.008s][debug][gc] ConcGCThreads: 1 [0.008s][debug][gc] ParallelGCThreads: 4 [0.008s][debug][gc] Initialize mark stack with 4096 chunks, maximum 16384 [0.010s][info ][gc] Using G1
当服务一直运行, gc.log
会不断增加,最后会撑满我们的盘。我们可以设置日志的文件大小和数量
$ java -jar -Xlog:gc=debug:file=gc.log,filecount=5,filesize=1024 sb-demo.jar
上面设置只输出 5 个文件,每个文件 1M.
分析 gc log
可以直接打开日志文件查看或者上传到 一些gc日志分析的网站上,直接出报表,至于这些在线的 Java gc
日志分析站点你可以 google
一些,有很多供你选择。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Hacking Growth
Sean Ellis、Morgan Brown / Crown Business / 2017-4-25 / USD 29.00
The definitive playbook by the pioneers of Growth Hacking, one of the hottest business methodologies in Silicon Valley and beyond. It seems hard to believe today, but there was a time when Airbnb w......一起来看看 《Hacking Growth》 这本书的介绍吧!