在Ubuntu服务器运行Spring Boot的jar时,先通过ps -ef | grep java
查看Spring Boot应用的的进程号。
接着使用命令jinfo -flags <Java应用进程号>
的方式来查看jar启动后使用的时什么GC、新生代、老年代,以及分配的内存都是多少。例如:
somebody@example:~$ ps -ef | grep java
root 26014 1 14 04:03 ? 00:00:41 /usr/bin/java -Dspring.profiles.active=prod -jar /home/ubuntu/linuxfield-0.0.1-SNAPSHOT.jar
ubuntu 26769 27094 0 04:08 pts/0 00:00:00 grep --color=auto java
somebody@example:~$ sudo jinfo -flags 26014
Attaching to process ID 26014, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.201-b09
Non-default VM flags: -XX:CICompilerCount=2 -XX:InitialHeapSize=14680064 -XX:MaxHeapSize=228589568 -XX:MaxNewSize=76152832 -XX:MinHeapDeltaBytes=196608 -XX:NewSize=4849664 -XX:OldSize=9830400 -XX:+UseCompressedClassPointers -XX:+UseCompressedOops
Command line: -Dspring.profiles.active=prod
其中的参数简单说明如下:
-XX: CICompilerCount
: 最大的并行变异数
-XX: InitialHeapSize
和-XX: MaxHeapSize
:指定JVM的初始堆内存和最大堆内存大小。
-XX: MaxNewSize
:JVM对区域新生代内存的最大可分配大小。