java排查進(jìn)程占用系統(tǒng)內(nèi)存高方法
1、top 查看進(jìn)程內(nèi)存
top 查看具體是哪個(gè)進(jìn)程吃內(nèi)存較多,接下來我們以排查第一個(gè)為例

話外音
根據(jù)pid 查找 pid所屬的 docker D
docker inspect -f "{{.Id}} {{.State.Pid}} {{.Config.Hostname}}"
$(docker ps -q) |grep <PID>2、定位線程問題
(通過命令查看9534進(jìn)程的線程情況)
命令:ps p 7051 -L -o pcpu,pmem,pid,tid,time,tname,cmd

由此可以看到這PID:7051 的進(jìn)程產(chǎn)生了很多線程。接下來就可以通過jstack查看內(nèi)存使用的堆棧。
具體可以執(zhí)行 ps p 7051 -L -o pcpu,pmem,pid,tid,time,tname,cmd |wc -l 來查具體有多少線程

3、查看內(nèi)存使用的堆棧
在這里我們挑選了TID=7053的線程進(jìn)行分析,首先需要將7053這個(gè)id轉(zhuǎn)換為16進(jìn)制。需輸入如下命令
執(zhí)行命令 printf "%x\n" 7053

4、將PID為7051的堆棧信息打印到j(luò)stack.log中
命令:jstack -l 7051> /usr/local/temp/jstack.log
5、查看日志
好多waiting的,具體需要開發(fā)查看代碼,為何這么多線程等待
可以看到這個(gè)線程狀態(tài)為:RUNNABLE。是正在運(yùn)行狀態(tài)的
另外其它的大部分線程狀態(tài)為:WAITING。通過查看文件分析 看到大量 Java Thread State。
說明它在等待另一個(gè)條件的發(fā)生,來把自己?jiǎn)拘眩蛘吒纱嗨钦{(diào)用了 sleep(N)。
此時(shí)線程狀態(tài)大致為以下幾種:
java.lang.Thread.State: WAITING (parking):一直等那個(gè)條件發(fā)生;
java.lang.Thread.State: TIMED_WAITING (parking或sleeping):定時(shí)的,那個(gè)條件不到來,也將定時(shí)喚醒自己。

以上就是java排查進(jìn)程占用系統(tǒng)內(nèi)存高方法的詳細(xì)內(nèi)容,更多關(guān)于java進(jìn)程占用排查的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
SpringBoot分段處理List集合多線程批量插入數(shù)據(jù)方式
文章介紹如何處理大數(shù)據(jù)量List批量插入數(shù)據(jù)庫的優(yōu)化方案:通過拆分List并分配獨(dú)立線程處理,結(jié)合Spring線程池與異步方法提升效率,推薦使用batch模式而非foreach標(biāo)簽,注意插入數(shù)據(jù)無序性2025-08-08
Java Web請(qǐng)求與響應(yīng)實(shí)例詳解
這篇文章主要介紹了Java Web請(qǐng)求與響應(yīng)實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2016-05-05
Java HashSet(散列集),HashMap(散列映射)的簡(jiǎn)單介紹
這篇文章主要介紹了Java HashSet(散列集),HashMap(散列映射)的簡(jiǎn)單介紹,幫助大家更好的理解和學(xué)習(xí)Java集合框架的相關(guān)知識(shí),感興趣的朋友可以了解下2021-01-01
SpringBoot項(xiàng)目的五種創(chuàng)建方式
這篇文章主要介紹了SpringBoot項(xiàng)目的五種創(chuàng)建方式,文中通過圖文結(jié)合的方式講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-12-12
Java實(shí)現(xiàn)系統(tǒng)限流的示例代碼
限流是保障系統(tǒng)高可用的方式之一,也是大廠高頻面試題,它在微服務(wù)系統(tǒng)中,緩存、限流、熔斷是保證系統(tǒng)高可用的三板斧,所以本文我們就來聊聊如何實(shí)現(xiàn)系統(tǒng)限流吧2023-09-09
SpringMVC攔截器的實(shí)現(xiàn)和作用及Redis登陸功能的優(yōu)化詳解
這篇文章主要介紹了Java項(xiàng)目SpringMVC攔截器+Redis優(yōu)化登錄功能實(shí)現(xiàn)過程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2022-09-09
MapReduce實(shí)現(xiàn)TopN效果示例解析
這篇文章主要為大家介紹了MapReduce實(shí)現(xiàn)TopN效果示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07

