国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Java進(jìn)程CPU占用率100%問題排查

cyrils / 991人閱讀

摘要:指的是占用了一個(gè)核心,兩個(gè)核心是,以此類推。占用率及對應(yīng)進(jìn)程可以通過命令確定,在界面按顯示完整的命令行參數(shù),按顯示每個(gè)核心的統(tǒng)計(jì)數(shù)據(jù)。查看線程堆棧,找到對應(yīng)的類及行號,然后閱讀代碼查找可能的問題原因。

100%指的是占用了CPU一個(gè)核心,兩個(gè)核心是200%,以此類推。
CPU占用率及對應(yīng)進(jìn)程ID(pid)可以通過top命令確定,在top界面按 c (顯示完整的命令行參數(shù)),按 1 (顯示每個(gè)核心的統(tǒng)計(jì)數(shù)據(jù))。

這個(gè)問題最常見的有以下幾種可能:

1、堆內(nèi)存不足導(dǎo)致頻繁Full GC
可以通過兩個(gè)命令確定

sudo jmap -heap pid 查看堆內(nèi)存的消耗情況

sudo jstat -gc pid interval count 查看GC情況,示例:sudo jstat -gc 5746 3000 5 代表查看5746進(jìn)程的GC情況、每隔3000毫秒打印一次、總共打印5次。如果FGC/FGCT增長明顯,說明Full GC很頻繁。

后續(xù)處理:

如果情況緊急,那得馬上重啟Java應(yīng)用進(jìn)程

不緊急的話需要獲取相關(guān)信息用于分析為什么堆內(nèi)存被消耗完了,可能有內(nèi)存泄漏問題,可以用 1)sudo jmap -histo pid | head -n 20 查看Java對象的占用統(tǒng)計(jì)信息,2)sudo jmap -dump:live,format=b,file=heap.bin pid 把堆轉(zhuǎn)儲導(dǎo)出到本地文件,可以用 Eclipse MAT 工具分析內(nèi)存泄漏

2、代碼實(shí)現(xiàn)問題
思路:追查具體是哪個(gè)線程占用了CPU,1)先查到本地系統(tǒng)CPU占用率高的線程ID,2)找到對應(yīng)的Java線程及線程堆棧

top -H -p pid 查看某個(gè)進(jìn)程里面哪些線程占用了CPU,把對應(yīng)的線程ID拷貝下來,轉(zhuǎn)為十六進(jìn)制【IDEA》Tools》Groovy Console》println Long.toHexString(1234) 即可完成轉(zhuǎn)換】。

sudo jstack -l -F pid | less 獲取Java線程堆棧,用十六進(jìn)制的本地線程ID搜索,會在某一行的nid處找到對應(yīng)的線程。查看Java線程堆棧,找到對應(yīng)的Java類及行號,然后閱讀代碼查找可能的問題原因。

jstack堆棧信息里tid/nid的說明
https://docs.oracle.com/javas...

The thread dump consists of the thread stack, including the thread state, for all Java threads in the virtual machine.

The header line contains the following information about the thread:
- Thread ID (tid), which is the address of a thread structure in memory.
- ID of the native thread (nid).

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/73757.html

相關(guān)文章

  • 線上系統(tǒng)性問題定位與方法論

    摘要:很顯然對于不同規(guī)模,不同功能的系統(tǒng),這個(gè)問題無法一概而論。生產(chǎn)事件上報(bào)客服上報(bào)此類問題往往來自用戶投訴,最重要的就是問題現(xiàn)象的復(fù)現(xiàn)。線上問題處理的核心是快速修復(fù)。以上說的都是問題發(fā)生后的消極應(yīng)對措施。 前言一線程序員在工作中經(jīng)常需要處理線上的問題或者故障,但工作幾年下來發(fā)現(xiàn),有些同事其實(shí)并不知道該如何去分析和解決這些問題,毫無章法的猜測和嘗試,雖然在很多時(shí)候可以最終解決問題,但往往也會浪費(fèi)大...

    leonardofed 評論0 收藏0
  • 一次生產(chǎn) CPU 100% 排查優(yōu)化實(shí)踐

    摘要:發(fā)現(xiàn)這是的一個(gè)堆棧,前段時(shí)間正好解決過一個(gè)由于隊(duì)列引起的一次強(qiáng)如也發(fā)生內(nèi)存溢出沒想到又來一出。因此初步判斷為大量線程執(zhí)行函數(shù)之后互相競爭導(dǎo)致使用率增高,而通過對堆棧發(fā)現(xiàn)是和使用有關(guān)。 showImg(https://segmentfault.com/img/remote/1460000017395756?w=1816&h=1080); 前言 到了年底果然都不太平,最近又收到了運(yùn)維報(bào)警:...

    roundstones 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<