JVM常见命令
引言
掌握JVM是属于Java程序员的必修课,对线程的掌控,对内存的把控,所以了解JVM常见命令可以帮助我们快速了解虚拟机的详细数据
命令
1. java
这是最基础的命令,用于启动一个 Java 应用程序。
java -cp /path/to/your/classes YourMainClass
上述命令中,-cp(也可用 -classpath)指定类路径,即 Java 虚拟机查找类文件的位置;YourMainClass 是包含 main 方法的类名。
2. javac
用于将 Java 源代码文件(.java)编译成字节码文件(.class)。
javac HelloWorld.java
3. jps
列出当前系统中所有正在运行的 Java 进程及其进程 ID(PID)。
jps
会显示对应的进程ID后续会用到 ,jps是Java程序的主类名
4.jstat
用于监控 JVM 的各种运行状态信息,如类加载、垃圾回收、内存使用等。
5. jinfo
可以实时查看和修改 JVM 的配置参数。
jinfo 25238
这里是jps进程所以报错了
查看指定进程的某个特定参数(如 HeapDumpPath):
jinfo -flag HeapDumpPath 25238
6. jmap
用于生成堆转储快照文件,以便后续分析内存使用情况;也可以查看堆内存中的对象统计信息。
jmap -dump:format=b,file=heapdump.hprof 25328
这里就可以去对应文件夹找快照文件了
上述命令中,format=b 表示以二进制格式生成堆转储文件,file=heapdump.hprof 指定了文件的名称和路径。
7.jstack
用于生成 Java 进程的线程快照,可帮助分析线程的运行状态、查找死锁等问题。
jstack 676
这里有对应的tid,nid