<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Chan Chen Coding...

    Jps介紹以及解決jps無法查看某個已經啟動的java進程問題

    1、jps的作用

    jps類似linux的ps命令,不同的是ps是用來顯示進程,而jps只顯示java進程,準確的說是當前用戶已啟動的部分java進程信息,信息包括進程號和簡短的進程command。

     

    2、某個java進程已經啟動,用jps卻顯示不了該進程進程號

    這個問題已經碰到過兩次了,所以在這里總結下。

    現象:

    用ps -ef|grep java能看到啟動的java進程,但是用jps查看卻不存在該進程的id。待會兒解釋過之后就能知道在該情況下,jconsole、jvisualvm可能無法監控該進程,其他java自帶工具也可能無法使用

     

    分析:

    java程序啟動后,默認(請注意是默認)會在/tmp/hsperfdata_userName目錄下以該進程的id為文件名新建文件,并在該文件中存儲jvm運行的相關信息,其中的userName為當前的用戶名,/tmp/hsperfdata_userName目錄會存放該用戶所有已經啟動的java進程信息。對于windows機器/tmp用Windows存放臨時文件目錄代替。

     

    而jps、jconsole、jvisualvm等工具的數據來源就是這個文件(/tmp/hsperfdata_userName/pid)。所以當該文件不存在或是無法讀取時就會出現jps無法查看該進程號,jconsole無法監控等問題

     

    原因:

    (1)、磁盤讀寫、目錄權限問題

    若該用戶沒有權限寫/tmp目錄或是磁盤已滿,則無法創建/tmp/hsperfdata_userName/pid文件。或該文件已經生成,但用戶沒有讀權限

     

    (2)、臨時文件丟失,被刪除或是定期清理

    對于linux機器,一般都會存在定時任務對臨時文件夾進行清理,導致/tmp目錄被清空。這也是我第一次碰到該現象的原因。常用的可能定時刪除臨時目錄的工具為crontab、redhat的tmpwatch、ubuntu的tmpreaper等等

    這個導致的現象可能會是這樣,用jconsole監控進程,發現在某一時段后進程仍然存在,但是卻沒有監控信息了。

     

    (3)、java進程信息文件存儲地址被設置,不在/tmp目錄下

    上面我們在介紹時說默認會在/tmp/hsperfdata_userName目錄保存進程信息,但由于以上1、2所述原因,可能導致該文件無法生成或是丟失,所以java啟動時提供了參數(-Djava.io.tmpdir),可以對這個文件的位置進行設置,而jps、jconsole都只會從/tmp目錄讀取,而無法從設置后的目錄讀物信息,這是我第二次碰到該現象的原因

     

    關于設置該文件位置的參數為-Djava.io.tmpdir

     

    其他:

    /tmp/hsperfdata_userName/pid文件會在對應java進程退出后被清除。如果java進程非正常退出(如kill -9),那么pid文件會被保留,直到執行一次java命令或是加載了jvm程序的命令(如jps、javac、jstat),會將所有無用的pid文件都清除掉



    -----------------------------------------------------
    Silence, the way to avoid many problems;
    Smile, the way to solve many problems;

    posted on 2013-04-26 19:35 Chan Chen 閱讀(405) 評論(0)  編輯  收藏 所屬分類: Scala / Java

    主站蜘蛛池模板: 久久久久久噜噜精品免费直播| 99精品视频在线视频免费观看| 国产亚洲一区区二区在线| 久久精品国产大片免费观看| 亚洲一区中文字幕在线观看| 亚洲国产一成久久精品国产成人综合| 成人电影在线免费观看| 四虎必出精品亚洲高清| 国产亚洲精AA在线观看SEE| 成年网站免费视频A在线双飞| 成人免费777777| a毛片在线看片免费| 亚洲高清乱码午夜电影网| 亚洲无码高清在线观看| 在线观看永久免费| 老湿机一区午夜精品免费福利| 亚洲AV美女一区二区三区| 亚洲日韩精品无码专区网址| 天天干在线免费视频| 国产乱码免费卡1卡二卡3卡| 222www免费视频| 在线观看永久免费| 国产精品免费精品自在线观看| 91香蕉国产线在线观看免费| 无码囯产精品一区二区免费| 在线观看片免费人成视频无码| 免费91最新地址永久入口| 免费在线观看一级片| 国产精品99久久免费观看| 久久久久久影院久久久久免费精品国产小说 | 国产成人精品日本亚洲专区| gogo全球高清大胆亚洲| 一本久到久久亚洲综合| 亚洲毛片av日韩av无码| 国产亚洲精品AA片在线观看不加载| 国产成人A亚洲精V品无码| 亚洲韩国精品无码一区二区三区| 国产精品亚洲成在人线| 无码欧精品亚洲日韩一区| 亚洲韩国在线一卡二卡| 456亚洲人成影院在线观|