成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

OOM內(nèi)存泄露速查備忘錄

開(kāi)發(fā)
本文整理了一份OOM內(nèi)存泄露問(wèn)題速查備忘錄,一起來(lái)了解一下。

本文整理了一份OOM內(nèi)存泄露問(wèn)題速查備忘錄,詳細(xì)見(jiàn)下文。

1、核心步驟

  1. top、free、df三連,查看CPU、內(nèi)存、磁盤(pán)的大致情況。
  2. netstat -lp 查看端口占用情況。
  3. 導(dǎo)出內(nèi)存dump文件:
# 保存了堆內(nèi)存現(xiàn)場(chǎng) 
jmap -dump:format=b,file=heap.dump pid
# 強(qiáng)制保存了堆內(nèi)存現(xiàn)場(chǎng)
jmap -F -dump:format=b,file=heap.dump pid
  1. 保存線程棧:
# 保存了線程棧的現(xiàn)場(chǎng)
jstack pid > jstack.log

2、輔助工具

  • jstat -gc[gcutil] pid [interval]查看JVM垃圾回收情況。通過(guò) jstat 查看 GC 信息,首先就是判斷 GC 時(shí)間是否較長(zhǎng),GC 發(fā)生是否頻繁,然后看是否經(jīng)常性進(jìn)行 FullGC。
# 如:jstat -gc pid 1000,持續(xù)跟蹤如1S一次。查看java堆的狀況,顯示具體數(shù)值。
jstat -gc pid 1000
# 通過(guò) jstat -gcutil 5 1000命令查看GC信息,其中5代表進(jìn)程號(hào),1000代表顯示時(shí)間。查看堆中各個(gè)區(qū)域已使用空間占其總空間的百分比。
jstat -gcutil pid 1000

  • 借助MAT(Eclipse Memory Analyzer)工具分析dump文件,分析內(nèi)存情況。
  • 直接用文本工具打開(kāi)jstack文件,分析線程占用情況。
  • 借助VisualVM更直觀:

3、分析過(guò)程

3.1、分析線程棧

直接通過(guò)文本工具打開(kāi)jstack.log,搜索業(yè)務(wù)相關(guān)包名,應(yīng)該大致能定位出問(wèn)題:

3.2、分析內(nèi)存

 1. 用MAT工具打開(kāi)dump文件

2. 一般打開(kāi)Histogram視圖,這樣能快速地發(fā)現(xiàn)問(wèn)題,也可以打開(kāi)Leak Suspects(泄露嫌疑),如下圖:

尋找這個(gè)對(duì)象被哪些地方引用了,如下圖:

查看大對(duì)象,找出自己業(yè)務(wù)相關(guān)的關(guān)鍵引用:

根據(jù)上面GC Roots的結(jié)果,在結(jié)合自身的業(yè)務(wù)代碼排查下,一般都會(huì)找到線索,比如:

  • 某個(gè)線程遠(yuǎn)程調(diào)用了接口返回的對(duì)象,一直被使用未能釋放
  • 每次執(zhí)行的數(shù)據(jù)量過(guò)大
  • 流沒(méi)有關(guān)閉
  • 死循環(huán) 或者 遞歸次數(shù)太多
  • 定時(shí)任務(wù)執(zhí)行頻率過(guò)高,在任務(wù)沒(méi)執(zhí)行完畢時(shí)又在持續(xù)執(zhí)行,導(dǎo)致積壓了大量對(duì)象
  • ......

4、總結(jié)

本文整理了一份OOM內(nèi)存泄露問(wèn)題速查備忘錄。核心內(nèi)容是:

  • top、free、df三連,然后netstat、jstat工具跟上。
  • 緊接著趕緊jmap、jstack保存現(xiàn)場(chǎng),然后重啟應(yīng)用。
  • MAT分析問(wèn)題,修改問(wèn)題,重新發(fā)布。
責(zé)任編輯:趙毅 來(lái)源: 不焦躁的程序員
相關(guān)推薦

2025-02-17 14:48:14

2018-12-24 21:40:12

2014-04-17 10:30:41

Linux 命令黑白備忘錄

2017-03-21 11:02:59

基礎(chǔ)深度學(xué)習(xí)備忘錄

2011-08-16 18:38:23

Core Animat動(dòng)畫(huà)

2011-04-11 10:03:32

錢(qián)伯斯思科

2020-11-02 10:41:33

備忘錄模式

2018-06-20 13:14:16

MySQL數(shù)據(jù)優(yōu)化查詢(xún)備忘錄

2013-08-29 10:50:48

移動(dòng)網(wǎng)站性能優(yōu)化移動(dòng)web

2016-03-03 10:09:26

2021-03-08 00:12:44

Grid 備忘錄 函數(shù)

2011-12-07 09:19:49

JavaJ2MEBicaVM

2009-08-14 15:50:45

C#正則表達(dá)式

2022-04-07 08:00:00

Javascript開(kāi)發(fā)

2011-08-31 10:34:47

JavaJava備忘錄

2009-06-17 16:54:27

MySpace備忘錄裁員

2023-10-31 09:07:16

備忘錄模式保存

2023-12-31 12:05:42

Markdown語(yǔ)法鏈接

2023-10-07 00:14:53

2011-05-20 09:12:48

AMD北京云基地云計(jì)算
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 丁香色婷婷 | 中文在线www | 国产精品福利视频 | 中文日韩在线视频 | 国产成人精品一区二区三区 | 国产精品国产精品国产专区不片 | 亚洲一区二区三区在线免费 | 亚洲午夜av久久乱码 | 精品综合久久久 | 中文字幕一区二区视频 | 成人精品一区二区三区中文字幕 | 日本视频在线 | 在线看免费| 成人伊人 | 九九色综合 | 天天天久久久 | 日韩精品一区二区三区视频播放 | 欧美日韩一区二区三区四区五区 | 国产日产精品一区二区三区四区 | 国产一区二区在线播放 | 日韩二区 | 国产免费一区二区 | 久久久精品网站 | 日韩在线小视频 | 亚洲一区二区成人 | 久久一区视频 | 久久久久国产精品一区三寸 | 国产高清无av久久 | 国产一级片免费视频 | 欧美日韩一区二区视频在线观看 | 亚洲一区二区中文字幕 | 日韩av手机在线观看 | 国产欧美一区二区三区久久手机版 | 久久久国产一区二区三区四区小说 | 一区二区视频在线观看 | 激情视频中文字幕 | 9191成人精品久久 | 欧美日韩在线一区二区三区 | 亚洲乱码一区二区三区在线观看 | 国产精品一级 | 国产亚洲一区二区精品 |