[英]Obtaining a list of all Java classes used from all JVM's?
我想要一个在某个时刻在多个线程/ JVM中加载的所有类的列表。
我知道,当您使用-verbose
参数运行Java时,可以将其像这样写入文件: java -verbose:class com.package.Foo > classes-used.txt
但是,我的主程序中有使用Shell脚本启动新jar的线程。 我想避免必须在每个shell脚本中编写-verbose
参数,并且我想知道在Linux上是否还有其他方法可以做到这一点?
您可以使用JDK随附的jcmd命令。 启动时,不需要任何特殊参数即可将其传递给JVM。
jcmd
将列出当前正在运行的所有JVM及其pid(进程ID)。
jcmd <pid> GC.class_histogram
然后将列出该JVM中当前加载的每个类,以及计数多少个实例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.