1. 程式人生 > >啟動JvisualVM提示"無法檢測到本地java應用程式"的解決方案

啟動JvisualVM提示"無法檢測到本地java應用程式"的解決方案

JvisualVM是一款很好用的java程式檢測工具。今天在公司用的時候,總是提示"無法檢測到本地java應用程式",起初以為是jdk的版本不對,我的jvisualvm是在jdk7裡面的,java程式使用的是jdk6,改了之後還是出現這個提示。

網上搜索了一下,找到了很多辦法,找到了一個比較簡單的辦法。

       在啟動java程式的時候新增一個引數即可:

1 -XX:+PerfBypassFileSystemCheck

       找了點資料,正好在OSC看到一位網友@鈦元素的回答:

      在 Win32 系統上,每個 java 程序啟動之後都在 %TMP%\hsperfdata_user ( user 為當前登入使用者名稱)目錄下建立一個以該 java 程序 pid 為檔名的檔案,用以記錄該 java 程序的一些資訊。而 jconsole 和 jps 正是利用這些檔案來獲取當前系統中 java 程序的資訊的。根據

http://java.sun.com/j2se/1.5.0/docs/guide/management/faq.html#win1 

的解釋,如果該目錄位於 FAT 檔案系統下,或者位於 NTFS 檔案系統下,但當前使用者對%TMP%\hsperfdata_user目錄的訪問許可權不足,無法建立和寫入該檔案,jconsole 和 jps 就抓瞎了。