線上問題處理整理總結

2021-08-14 00:23:42 字數 2548 閱讀 8644

1.處理磁碟空間滿的問題,查詢大於某個上限的檔案

find / -xdev -size+500m -exec ls -l {} \;

2.避免停機 ,立即釋放空間的示例echo "">catalina.out

3.檢視磁碟空間檔案大小按照大小進行排序:du -sh /usr | sort -nr

-----記憶體oom問題分析

1.確認記憶體分配大小(假設pid為6055)

jmap  -heap 6055

[root@szb-l0032773 ~]# jmap -heap 6055

attaching to process id 6055, please wait...

debugger attached successfully.

server compiler detected.

jvm version is 25.91-b14

using parallel threads in the new generation.

using thread-local object allocation.

concurrent mark-sweep gc

heap configuration:

minheapfreeratio         = 40

maxheapfreeratio         = 70

maxheapsize              = 1048576000 (1000.0mb)

newsize                  = 174456832 (166.375mb)

maxnewsize               = 174456832 (166.375mb)

oldsize                  = 874119168 (833.625mb)

newratio                 = 2

survivorratio            = 8

metaspacesize            = 21807104 (20.796875mb)

compressedclassspacesize = 1073741824 (1024.0mb)

maxmetaspacesize         = 17592186044415 mb

g1heapregionsize         = 0 (0.0mb)

heap usage:

new generation (eden + 1 survivor space):

capacity = 157024256 (149.75mb)

used     = 124465352 (118.69940948486328mb)

free     = 32558904 (31.05059051513672mb)

79.26504807002556% used

eden space:

capacity = 139591680 (133.125mb)

used     = 124287480 (118.52977752685547mb)

free     = 15304200 (14.595222473144531mb)

89.03645260233274% used

from space:

capacity = 17432576 (16.625mb)

used     = 177872 (0.1696319580078125mb)

free     = 17254704 (16.455368041992188mb)

1.0203426045582706% used

to space:

capacity = 17432576 (16.625mb)

used     = 0 (0.0mb)

free     = 17432576 (16.625mb)

0.0% used

concurrent mark-sweep generation:

capacity = 874119168 (833.625mb)

used     = 36658360 (34.96013641357422mb)

free     = 837460808 (798.6648635864258mb)

4.193748557633734% used

2.找最耗費記憶體的物件

jmap -histo:live 6055 |more

jstack -l pid |wc -l

jstack -l pid |grep "blocked"|wc -l

jstack -l pid |grep "waiting on condition"|wc -l

執行緒block問題一般是等待io、等待網路、等待監視器鎖等造成,可能會導致請求超時、造成造成執行緒數暴漲導致系統502等。

如果出現這種問題,主要是關注jstack 出來的blocked、waiting on condition、waiting on monitor entry等狀態資訊。

線上故障處理

於 2016 年 12 月 09 日 處理流程 故障後處理 前段時間在團隊內整理了乙份線上事故處理的流程,修改後在這裡分享。1.1 系統 業務報警 這個是獲取故障最常用的手段。一般的系統正常運營過程中都會有一定的指標監控。如 在系統層面某種報錯出現的次數,系統常規指標,如可用記憶體,jvm gc,連...

celery 線上問題

專案中使用celery 去做非同步化處理。針對不同的訊息佇列都會啟動8個worker去消費。啟動入口是supervisor,拉起django 的指令碼。再由指令碼去拉起所有的消費程序。線上celery 容器不停的掛死。通過監控可以看到記憶體過一段時間就會到達記憶體配置值。這時候專案跑不動。htopm...

線上問題排查

問題排查方 長期改進建議 由於業務應用 bug 本身或引入第三方庫 環境原因 硬體問題等原因,線上服務出現故障 問題幾乎不可避免。例如,常見的現象包括請求超時 使用者明顯感受到系統發生卡頓等等。作為乙個合格的研發人員 技術人員 不僅要能寫得一手好 掌握如何排查問題技巧也是研發人高階必須掌握的實戰技能...