欧美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ā)生,來把自己喚醒,或者干脆它是調(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)文章

  • idea報(bào)錯(cuò)之找不到符號(hào):類的問題及解決

    idea報(bào)錯(cuò)之找不到符號(hào):類的問題及解決

    這篇文章主要介紹了idea報(bào)錯(cuò)之找不到符號(hào):類的問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Java中Base64加密解密舉例詳解

    Java中Base64加密解密舉例詳解

    Base64編碼是我們程序開發(fā)中經(jīng)常使用到的編碼方法,它是一種基于用64個(gè)可打印字符來表示二進(jìn)制數(shù)據(jù)的表示方法,這篇文章主要給大家介紹了關(guān)于Java中Base64加密解密的相關(guān)資料,需要的朋友可以參考下
    2024-05-05
  • Java如何設(shè)置過期時(shí)間的map的幾種方法

    Java如何設(shè)置過期時(shí)間的map的幾種方法

    本文主要介紹了Java如何設(shè)置過期時(shí)間的map的幾種方法,常見的解決方法有:ExpiringMap、LoadingCache及基于HashMap的封裝三種,下面就詳細(xì)的介紹一下,感興趣的可以了解下
    2022-03-03
  • spring/springboot整合curator遇到的坑及解決

    spring/springboot整合curator遇到的坑及解決

    這篇文章主要介紹了spring/springboot整合curator遇到的坑及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Mybatisplus自動(dòng)填充實(shí)現(xiàn)方式及代碼示例

    Mybatisplus自動(dòng)填充實(shí)現(xiàn)方式及代碼示例

    這篇文章主要介紹了Mybatisplus自動(dòng)填充實(shí)現(xiàn)方式及代碼示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Mybatis Interceptor 攔截器的實(shí)現(xiàn)

    Mybatis Interceptor 攔截器的實(shí)現(xiàn)

    這篇文章主要介紹了Mybatis Interceptor 攔截器的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-12-12
  • java中構(gòu)造方法及this關(guān)鍵字的用法實(shí)例詳解(超詳細(xì))

    java中構(gòu)造方法及this關(guān)鍵字的用法實(shí)例詳解(超詳細(xì))

    大家都知道,java作為一門內(nèi)容豐富的編程語言,其中涉及的范圍是十分廣闊的,下面這篇文章主要給大家介紹了關(guān)于java中構(gòu)造方法及this關(guān)鍵字用法的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • JAVA實(shí)現(xiàn)用戶抽獎(jiǎng)功能(附完整代碼)

    JAVA實(shí)現(xiàn)用戶抽獎(jiǎng)功能(附完整代碼)

    這篇文章主要給大家介紹了關(guān)于JAVA實(shí)現(xiàn)用戶抽獎(jiǎng)功能的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • java如何實(shí)現(xiàn)嵌套對(duì)象轉(zhuǎn)大map(扁平化)

    java如何實(shí)現(xiàn)嵌套對(duì)象轉(zhuǎn)大map(扁平化)

    這篇文章主要介紹了java如何實(shí)現(xiàn)嵌套對(duì)象轉(zhuǎn)大map(扁平化),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • MyBatis-Plus標(biāo)簽@TableField之fill自動(dòng)填充方式

    MyBatis-Plus標(biāo)簽@TableField之fill自動(dòng)填充方式

    這篇文章主要介紹了MyBatis-Plus標(biāo)簽@TableField之fill自動(dòng)填充方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06

最新評(píng)論