久久亚洲国产精品视频,中国AV片,最近中文字幕免费大全,国产亚洲精品久久久999功能介绍,欧美色女人

金融情報局網_中國金融門戶網站 讓金融財經離的更近

世界最新:遇到瘋狂GC時進行判斷然后重啟服務的方法-GPT學習使用之三

當前位置:金融情報局網_中國金融門戶網站 讓金融財經離的更近>資訊 > 國際 > 正文  2023-07-04 22:31:31 來源:博客園


(相關資料圖)

遇到瘋狂GC時進行判斷然后重啟服務的方法-GPT學習使用之三

背景

最近懷疑產品遇到了第三方組建的bugGroupdocs轉換渲染某些文件時出現(xiàn)了嚴重的FullGC的情況而且出現(xiàn)的奇怪的功效學GCergonomics 的提示因為不好發(fā)現(xiàn), 所以同事想通過遇到異常時自動進行重啟來暫時規(guī)避這個問題. 因為這個服務僅是一個文檔轉換和預覽, 可以不用考慮太多的數據一致性等問題所以周末時間想著幫忙寫一寫

思路

利用jvm的 +XX:printgc 的配置將gc日志打印出來.然后分析GClog, 判斷最近三分鐘,如果有兩次ergonomics的fullGC處理就重啟服務. 如果沒有就繼續(xù)循壞. 每十秒鐘執(zhí)行一次判斷與循環(huán).

腳本編寫過程-1

第一步. 增加killscirpt和startscript便于關閉和啟動服務. 可以在killscript 之前增加抓取dump或者是jstack的腳本. 啟動腳本里面可以增加日志的備份腳本. 第二步. 編寫主腳本.分析gclog日志.循環(huán)判斷full GC產生的日期. 如果是在最近幾分鐘內則 數據 +1 然后判斷大于兩次, 執(zhí)行第一步的腳本. 第三步. 設置腳本啟動,循環(huán)判斷.

腳本編寫過程-2

神通數據庫的李諾帆老師推薦了edge的webtag的GPT插件可以通過這個插件獲取一些編寫腳本的簡單處理效果如圖示: 

腳本內容

#! /bin/bash#備注: 本腳本的用途是每20秒判斷gclog內GC的次數, 如果ergonomics的gc次數在3分鐘內超過2次,那么執(zhí)行重啟操作. #需要嚴格注意本腳本的使用, 必須修改好腳本的啟動腳本, 配置參數, 時間間隔等. #必須嚴格進行測試, 不要隨意上生產. while truedointerval=20now=`date +%Y%m%d%H%M`timeinfo=`date -d "-3 min" +%s`#timeinfo=`date -d "-10 days" +%s`gclogfile="/myapp/gclog.log"gclogbackup="/myapp/gclog_${now}.log"count=0for num in $(for i in `cat /myapp/gclog.log |grep -i ergonomics  |awk "{print $1}" |awk -F + "{print $1}"`; do echo  ` date -d ${i} +%s` ; done)do  if [ $num -gt $timeinfo ]  then      ((count++))  fidoneecho "最近周期內的ergonomics的GC次數為:  $count"if [ $count -gt 2 ]then  scp -rp $gclogfile $gclogbackup  echo "" > $gclogfile  echo "關閉服務, 等待五秒鐘重啟,請自行維護腳本"  /deploy/killscript   sleep 5  echo "重啟服務,請自行維護腳本"  /deploy/startscript fisleep $intervaldone

進行監(jiān)控與處理

編寫腳本為 checkgctime然后chmod +x checkgctime然后 nohup ./checkgctime & 進行測試驗證. 注意務必要進行嚴格測試, 避免出現(xiàn)安全隱患GPT能夠幫自己使用語法, 但是很多思路還是需要自己串聯(lián)他給出的腳本,大部分都很初級, 可能無法徹底實現(xiàn)自己的業(yè)務場景.

關鍵詞:

相關內容