欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java排查進(jìn)程占用系統(tǒng)內(nèi)存高方法

 更新時(shí)間:2023年06月25日 17:37:27   作者:運(yùn)氣爆棚1368  
這篇文章主要為大家介紹了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ù)方式

    SpringBoot分段處理List集合多線程批量插入數(shù)據(jù)方式

    文章介紹如何處理大數(shù)據(jù)量List批量插入數(shù)據(jù)庫的優(yōu)化方案:通過拆分List并分配獨(dú)立線程處理,結(jié)合Spring線程池與異步方法提升效率,推薦使用batch模式而非foreach標(biāo)簽,注意插入數(shù)據(jù)無序性
    2025-08-08
  • Spring注解@Value及屬性加載配置文件方式

    Spring注解@Value及屬性加載配置文件方式

    這篇文章主要介紹了Spring注解@Value及屬性加載配置文件方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Java Web請(qǐng)求與響應(yīng)實(shí)例詳解

    Java Web請(qǐng)求與響應(yīng)實(shí)例詳解

    這篇文章主要介紹了Java Web請(qǐng)求與響應(yīng)實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2016-05-05
  • MyBatis-Plus自定義SQL的詳細(xì)過程記錄

    MyBatis-Plus自定義SQL的詳細(xì)過程記錄

    Java開發(fā)使用mybatis-plus來執(zhí)行sql操作,往往比mybatis能夠省時(shí)省力,下面這篇文章主要給大家介紹了關(guān)于MyBatis-Plus自定義SQL的相關(guān)資料,需要的朋友可以參考下
    2022-02-02
  • Java HashSet(散列集),HashMap(散列映射)的簡(jiǎn)單介紹

    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)建方式

    這篇文章主要介紹了SpringBoot項(xiàng)目的五種創(chuàng)建方式,文中通過圖文結(jié)合的方式講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-12-12
  • Java實(shí)現(xiàn)系統(tǒng)限流的示例代碼

    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)化詳解

    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
  • Spring中的使用@Async異步調(diào)用方法

    Spring中的使用@Async異步調(diào)用方法

    這篇文章主要介紹了Spring中的使用@Async異步調(diào)用方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • MapReduce實(shí)現(xiàn)TopN效果示例解析

    MapReduce實(shí)現(xiàn)TopN效果示例解析

    這篇文章主要為大家介紹了MapReduce實(shí)現(xiàn)TopN效果示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07

最新評(píng)論