




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第記一次線程爆滿導(dǎo)致服務(wù)器崩潰的問題排查及解決目錄問題介紹1.重啟服務(wù)器2.修改最大線程數(shù)3.查找線程最大的java程序4.導(dǎo)出問題程序的線程日志5.找到問題代碼6.解決方案
問題介紹
測試服務(wù)器突然無法連接,ssh登錄不上。只有重啟才能解決。重啟一天后,又連接不上了。
于是有了下面的排查過程,最終發(fā)現(xiàn)是有個java程序一直在創(chuàng)建線程,導(dǎo)致線程達到服務(wù)器最大數(shù)量,服務(wù)器崩潰。
1.重啟服務(wù)器
重啟后,ssh連接發(fā)現(xiàn)下面問題
forkfaild:Cannotallocatememory
以為是內(nèi)存滿了
于是,free-h,查看內(nèi)存情況,還有,觀察一段時間后,內(nèi)存沒多大變化
2.修改最大線程數(shù)
經(jīng)過各種百度,都說可以通過修改服務(wù)器的最大線程數(shù)來解決,于是我也這么干了。當(dāng)時做的時候沒有截圖,所以下面截圖是網(wǎng)上找的,湊合看看。
查看最大進程數(shù)sysctlkernel.pid_max
ps-eLf|wc-l查看進程數(shù)
修改最大進程數(shù)后系統(tǒng)恢復(fù)
echo1000000/proc/sys/kernel/pid_max
永久生效
echo"kernel.pid_max=1000000"/etc/sysctl.conf
sysctl-p
3.查找線程最大的java程序
上一步擴大了線程數(shù)量后,感覺有點不對,因為之前沒有這么配置都可以正常運行,為什么突然服務(wù)器掛了呢?肯定是有程序在作怪。
于是決定找出占用線程最多的程序。回顧最近幾天,服務(wù)器中只部署了幾個springboot程序。問題一定出在它們之中。
查看線程數(shù)量前20的java程序
ps-Lef|awk‘{sum[$2]++}END{for(pidinsum)printpid,sum[pid]}'|sort-nr-k2|head-n20
[root@se-test-lky01~]#ps-Lef|awk'{sum[$2]++}END{for(pidinsum)printpid,sum[pid]}'|sort-nr-k2|head-n20
160743100
313861226
201201072
19548985
9697829
3005796
641344
19016324
16924315
17870300
6417293
8351171
7332168
18259167
19821161
16311157
18433151
18048136
14347104
2559100
觀察一段時間后,發(fā)現(xiàn)進程id為16074的java程序的線程數(shù)不斷增長。
4.導(dǎo)出問題程序的線程日志
[root@se-test-lky01~]#jstack16074thread_dump.log
分析日志,發(fā)現(xiàn)下面情況,線程數(shù)量不斷增加,代碼位置在FtpMonitorProcess.java:85
"Thread-4655"#4774prio=5os_prio=0tid=0x00007f84aa2fe000nid=0xd408bwaitingformonitorentry[0x00007f802b704000]
java.lang.Thread.State:BLOCKED(onobjectmonitor)
atcn.cloudwalk.bat.util.http.FtpUtil.connect(FtpUtil.java:246)
-waitingtolock0x00000006c09c1888(ajava.lang.Classforcn.cloudwalk.bat.util.http.FtpUtil)
atcess.FtpMonitorProcess$1.run(FtpMonitorProcess.java:85)
atjava.lang.Thread.run(Thread.java:748)
"Thread-4654"#4773prio=5os_prio=0tid=0x00007f84aa2fc000nid=0xd408awaitingformonitorentry[0x00007f802b805000]
java.lang.Thread.State:BLOCKED(onobjectmonitor)
atcn.cloudwalk.bat.util.http.FtpUtil.connect(FtpUtil.java:246)
-waitingtolock0x00000006c09c1888(ajava.lang.Classforcn.cloudwalk.bat.util.http.FtpUtil)
atcess.FtpMonitorProcess$2.run(FtpMonitorProcess.java:114)
atjava.lang.Thread.run(Thread.java:748)
5.找到問題代碼
發(fā)現(xiàn)這個方法每次被調(diào)用就會創(chuàng)建一個新的線程。而這個方法是被定時任務(wù)調(diào)用的,每10秒調(diào)用一次。
問題就出在ftp沒有配置,所以線程內(nèi)執(zhí)行ftp操作時,線程阻塞,沒能釋放。若ftp可用,則不會出現(xiàn)線程阻塞問題。
這就是問題根源。
privatevoidlistDeviceFiles(){
newThread(newRunnable(){
@Override
publicvoidrun(){
logger.debug("開始獲取[ftp-設(shè)備]文件...");
try{
StringworkDir=ftpConfig.getWorkdir();
//連接
FTPClientftpClient=FtpUtil.connect(ftpConfig);
ftpClient.changeWorkingDirectory(workDir);
ftpClient.changeWorkingDirectory(SubscribeDataTypeEnum.DEVICE_INFO.getKey().toString());
FTPFile[]files=ftpClient.listFiles();
for(FTPFilefile:files){
decomposeFile(file,ftpClient);
ftpClient.logout();
}catch
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023年國家公務(wù)員考試行測法律知識模擬題及答案
- 企業(yè)級開源軟件代碼貢獻協(xié)議書
- 母嬰護理服務(wù)質(zhì)量規(guī)范執(zhí)行與客戶權(quán)益保護合同
- 智慧路燈與5G微基站一體化建設(shè)及運維合同
- 智能照明系統(tǒng)維護保養(yǎng)與照明效果優(yōu)化合同
- 智能倉儲無人叉車租賃與倉儲信息化解決方案合同
- 河道防洪應(yīng)急巡查臨時隊員聘用協(xié)議
- 人才公寓租賃合同及入住條件約定
- 人工智能訓(xùn)練平臺機柜租賃與算法優(yōu)化服務(wù)協(xié)議
- 建筑工程分賬及工程款結(jié)算補充協(xié)議
- 2025-2030工程塑料行業(yè)市場深度分析及發(fā)展策略研究報告
- 2025-2030中國涂料設(shè)備行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 業(yè)務(wù)員合同范本與業(yè)務(wù)員和公司的合同6篇
- 2025年大學(xué)生學(xué)習(xí)鄉(xiāng)村振興知識競賽題庫及答案(共60道題)
- 2025年廣東廣州市高三二模高考英語試卷試題(含答案詳解)
- 期中考試質(zhì)量分析會上校長引用6個關(guān)鍵詞講話:深耕、融合、賦能、深耕、創(chuàng)新、協(xié)同、堅守
- 2025屆高三化學(xué)備考:山東高考模擬練習(xí)-工業(yè)流程61道
- 聯(lián)營采購合同協(xié)議
- JJF 2230-2025混凝土電阻率測試儀校準規(guī)范
- 【9數(shù)一?!?025年安徽合肥市第四十五中學(xué)九年級中考一模數(shù)學(xué)試卷(含答案)
- 掛靠法人免責(zé)協(xié)議書
評論
0/150
提交評論