grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
再次啓動
jstatd -J-Djava.security.policy=jstatd.all.policy
a)使用默認值
rmiregistry&
jstatd -J-Djava.security.policy=all.policy
b)使用2020端口
rmiregistry 2020&
jstatd -J-Djava.security.policy=all.policy -p 2020
c)使用2020端口,使用rminame
rmiregistry 2020&
jstatd -J-Djava.security.policy=all.policy -p 2020 -n AlternateJstatdServerName
(3)RMI Registry已經啓動,不創建內部RMI Registry
jstatd -J-Djava.security.policy=all.policy -nr
(4)RMI日誌能力
jstatd -J-Djava.security.policy=all.policy -J-Djava.rmi.server.logCalls=true
用法:
jinfo [ option ] pid
jinfo [ option ] executable core
jinfo [ option ] [server-id@]remote-hostname-or-IP
參數:
pid 進程號
executable 產生core dump的java executable
core core file
remote-hostname-or-IP 主機名或ip
server-id 遠程主機上的debug server的唯一id
選項:
no option 打印命令行參數和系統屬性
-flags 打印命令行參數
-sysprops 打印系統屬性
-h 幫助
觀察運行中的java程序的運行環境參數:參數包括Java System屬性和JVM命令行參數
實例:
jinfo 2083
其中2083就是java進程id號,可以用jps得到這個id號。我在windows上嘗試輸入這個命令,但是不管用,於是我輸入了下面這個命令:
jinfo -flag MaxPermSize 3980
顯示如下:
-XX:MaxPermSize=67108864
jmap -heap 2083
可以觀察到New Generation(Eden Space,From Space,To Space),tenured generation,Perm Generation的內存使用情況
jmap -histo 2083 | jmap -histo:live 2083
可以觀察heap中所有對象的情況(heap中所有生存的對象的情況)。包括對象數量和所佔空間大小。
jmap -histo java進程id
可以查看java進程中的所有實例、實例的個數,可用於查詢單例對象是否真的只生成了一個實例。