jstack報(bào)錯(cuò)Unable to open socket file解決
簡介
說明
本文介紹解決jstack的報(bào)錯(cuò)的方法,報(bào)錯(cuò)信息為:Unable to open socket file。?
詳細(xì)報(bào)錯(cuò)信息:
進(jìn)程號(hào): Unable to open socket file: target process not responding or HotSpot VM not loaded
The -F option can be used when the target process is not responding
概述
我們通常會(huì)用jstack、jmap等工具排查CPU占用高、內(nèi)存占用高等問題。但在使用這些命令時(shí)有時(shí)會(huì)報(bào)錯(cuò),如下所示:

原因及解決方案
1.用戶權(quán)限不正確
原因
如果執(zhí)行java程序的用戶與執(zhí)行jstack命令的用戶不一致,會(huì)導(dǎo)致報(bào)錯(cuò)。
解決方案
切換到執(zhí)行java程序的那個(gè)用戶再執(zhí)行jstack命令。
方法
第一步:查找java進(jìn)程對應(yīng)的用戶(命令為:ps -aux | grep "進(jìn)程號(hào)")
例:

第二步:使用su命令切換到對應(yīng)用戶
su root
2./tmp路徑?jīng)]有進(jìn)程信息
原因
java進(jìn)程啟動(dòng)的時(shí)候,默認(rèn)會(huì)在/tmp/hsperfdata_$USER下面創(chuàng)建一個(gè)以PID命名的文件,里面包含了一些信息,會(huì)被jstack、jmap命令使用到。當(dāng)文件不存在時(shí)就會(huì)報(bào)上述錯(cuò)誤。
導(dǎo)致/tmp下沒有相關(guān)文件的原因有:
- 使用了docker來啟動(dòng)
- 使用了systemd來啟動(dòng)(systemd用于監(jiān)控進(jìn)程狀態(tài))
解決方案
如果是使用了docker來啟動(dòng)
解決方法:需要進(jìn)入到容器中去執(zhí)行jstack命令。
如果是使用了systemd來啟動(dòng)
解決方法:修改一項(xiàng)配置:PrivateTmp=true改為false
以上就是jstack報(bào)錯(cuò)Unable to open socket file解決的詳細(xì)內(nèi)容,更多關(guān)于jstack報(bào)錯(cuò)解決的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Java實(shí)現(xiàn)mybatis批量插入數(shù)據(jù)到Oracle
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)mybatis批量插入數(shù)據(jù)到Oracle 的相關(guān)資料,需要的朋友可以參考下2016-06-06
詳解Java String字符串獲取每一個(gè)字符及常用方法
這篇文章主要介紹了詳解Java String字符串獲取每一個(gè)字符及常用方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
spring boot整合spring-kafka實(shí)現(xiàn)發(fā)送接收消息實(shí)例代碼
這篇文章主要給大家介紹了關(guān)于spring-boot整合spring-kafka實(shí)現(xiàn)發(fā)送接收消息的相關(guān)資料,文中介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編一起來看看吧。2017-06-06
Java實(shí)現(xiàn)高效隨機(jī)數(shù)算法的示例代碼
這篇文章主要介紹了Java實(shí)現(xiàn)高效隨機(jī)數(shù)算法的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-02-02
Java定時(shí)任務(wù)Timer、TimerTask與ScheduledThreadPoolExecutor詳解
這篇文章主要介紹了Java定時(shí)任務(wù)Timer、TimerTask與ScheduledThreadPoolExecutor詳解, 定時(shí)任務(wù)就是在指定時(shí)間執(zhí)行程序,或周期性執(zhí)行計(jì)劃任務(wù),Java中實(shí)現(xiàn)定時(shí)任務(wù)的方法有很多,本文從從JDK自帶的一些方法來實(shí)現(xiàn)定時(shí)任務(wù)的需求,需要的朋友可以參考下2024-01-01
JAVA Iterator接口與增強(qiáng)for循環(huán)的實(shí)現(xiàn)
這篇文章主要介紹了JAVA Iterator接口與增強(qiáng)for循環(huán)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
SpringBoot上傳圖片到指定位置并返回URL的實(shí)現(xiàn)
本文主要介紹了SpringBoot上傳圖片到指定位置并返回URL,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下<BR>2022-03-03
Java中的system.getProperty()的作用及使用方法
System.getProperty()?方法用于獲取系統(tǒng)屬性的值,該方法接受一個(gè)字符串參數(shù),表示要獲取的系統(tǒng)屬性的名稱,返回值為字符串類型,表示該屬性的值,接下來通過本文給大家介紹Java中的system.getProperty()的作用及使用方法,感興趣的朋友跟隨小編一起看看吧2023-05-05

