要使用 visualgc 必須在遠端機上啟動jstatd**程式,否則會顯示 「not supported for this jvm」 錯誤
jstatd
could not create remote object
access denied ("j**a.util.propertypermission" "j**a.rmi.server.ignoresubclasses" "write")
j**a.security.accesscontrolexception: access denied ("j**a.util.propertypermission" "j**a.rmi.server.ignoresubclasses" "write")
at j**a.security.accesscontrolcontext.checkpermission(accesscontrolcontext.j**a:372)
at j**a.security.accesscontroller.checkpermission(accesscontroller.j**a:559)
at j**a.lang.securitymanager.checkpermission(securitymanager.j**a:549)
at j**a.lang.system.setproperty(system.j**a:783)
at sun.tools.jstatd.jstatd.main(jstatd.j**a:139)
這是與安全許可權相關的問題。
粗暴的解決辦法:
在jdk的\jre\lib\security下把j**a.policy檔案的
grant;
的最後加入
permission j**a.security.allpermission;
方法一:
命令:jmap -dump:(live,)format=b,file=heap.bin
file:儲存路徑及檔名
pid:程序編號(windows通過任務管理器檢視,linux通過ps aux檢視,jsp檢視j**a程序)
live: 匯出前進行full gc只保留存活的物件
dump檔案可以通過memoryanalyzer(mat)分析檢視,可以檢視dump時物件數量,記憶體占用,執行緒情況等。
方法二:讓jvm在遇到oom(outofmemoryerror)時生成dump檔案
-xx:+heapdumponoutofmemoryerror -xx:heapdumppath=/path/heap/dump
jvm 效能調優工具
工具 jpsjps l 主程序 jps m 執行傳入主類的引數 jps v 虛擬機器引數 jstat jstat gcutil pid 1000 1秒 jstat jinfo jmap jmap histo pid jmap dump formart b,file filepath pid jhat...
Spark效能調優 JVM調優
通過一張圖讓你明白以下四個問題 1.jvm gc機制,堆記憶體的組成 2.spark的調優為什麼會和jvm的調優會有關聯?因為scala也是基於jvm執行的語言 3.spark中oom產生的原因 4.如何在jvm這個層面上來對spark進行調優 補充 spark程式執行時 jvm堆記憶體分配比例 r...
JVM效能調優
gc 優化的兩個目標 將進入老年代的物件數量降到最低 減少 full gc 的執行時間 gc 優化的基本原則是 將不同的 gc 引數應用到兩個及以上的伺服器上然後比較它們的效能,然後將那些被證明可以提高效能或減少 gc 執行時間的引數應用於最終的工作伺服器上。gc 優化需要考慮的 jvm 引數 型別...