欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

記一次springboot服務(wù)凌晨無(wú)故宕機(jī)問(wèn)題的解決

 更新時(shí)間:2020年09月17日 09:50:16   作者:蠟筆小興灬  
這篇文章主要介紹了記一次springboot服務(wù)凌晨無(wú)故宕機(jī)問(wèn)題的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

表述

在一次服務(wù)更新后發(fā)現(xiàn)每天凌晨0點(diǎn)3秒服務(wù)準(zhǔn)時(shí)掛,開始的時(shí)候認(rèn)為是maven依賴中存在system.exit(3)類似這樣的代碼,但是我想了下這個(gè)代碼很多客戶都有用到但是只有這一個(gè)客戶出現(xiàn)了問(wèn)題,而且另外一個(gè)服務(wù)沒(méi)有更新在此前幾個(gè)月都是沒(méi)問(wèn)題的 這幾天也是一樣無(wú)故掛了。

環(huán)境

windows服務(wù)器

排查

1、初步懷疑是內(nèi)存泄漏問(wèn)題,在啟動(dòng)腳本中加入 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=D:\heapdump.log,第二天起來(lái)一看還是掛了沒(méi)有出現(xiàn)dump日志說(shuō)明不是內(nèi)存泄漏

2、白天幾千幾萬(wàn)的請(qǐng)求量都沒(méi)有掛,凌晨時(shí)候星星兩兩的請(qǐng)求量甚至沒(méi)有請(qǐng)求卻掛了

3、服務(wù)準(zhǔn)時(shí)0點(diǎn)3秒掛,后續(xù)我寫了個(gè)腳本加入執(zhí)行計(jì)劃每日凌晨1點(diǎn)檢查服務(wù)并啟動(dòng),發(fā)現(xiàn)有寫腳本的服務(wù)還是0點(diǎn)3秒掛而另外一個(gè)服務(wù)變成1點(diǎn)10幾分左右掛了

4、有懷疑可能是logback的問(wèn)題,日志生成規(guī)則是按日期備份的,可是每個(gè)客戶都是這樣的配置就這個(gè)客戶有問(wèn)題所以暫時(shí)排除這個(gè)可能了

臨時(shí)解決

1、暫時(shí)給幾個(gè)服務(wù)的啟動(dòng)腳本加入到執(zhí)行計(jì)劃中每日凌晨檢查并啟動(dòng),沒(méi)有找到好的解決方案也不知道是什么問(wèn)題,希望知道的大佬告知一下感激不盡。

附上執(zhí)行計(jì)劃?rùn)z查腳本

@echo off
echo 正在檢測(cè)啟動(dòng)服務(wù)…請(qǐng)不要關(guān)閉該窗口
D:
cd “D:\寫上服務(wù)的目錄”
:ks
set num=0
for /f %%i in (‘netstat -ano^| find “:服務(wù)的端口”') do set /a num=%num%+1
echo %num%
if %num% == 0 (
echo “開始啟動(dòng)服務(wù)”
call D:\aaa.bat
) else (
echo “無(wú)需啟動(dòng)服務(wù)”
)

其中D:\aaa.bat 是服務(wù)的啟動(dòng)腳本 這里也可以直接寫上java -jar springboot服務(wù).jar類似這樣的代碼

最終解決

經(jīng)昨晚12點(diǎn)時(shí)候錄屏服務(wù)器后看后終于找到了問(wèn)題所在,控制臺(tái)沒(méi)有絲毫的報(bào)錯(cuò)信息直接程序崩潰,這就是windows服務(wù)器的不足之處,如果此時(shí)服務(wù)器是Linux的話 會(huì)在項(xiàng)目目錄底下記錄崩潰的Jvm日志。思考之后發(fā)現(xiàn)果真竟然是logback的鍋,找到原因:

1、因?yàn)閘ogback配置中沒(méi)有加入maxFileSize的配置,導(dǎo)致日志文件大小有幾個(gè)G

2、服務(wù)器本身性能配置一般

3、logback采用的是zip壓縮按日備份的

4、壓縮文件是很耗CPU的,文件越大CPU占用越多,如果文件很大就會(huì)導(dǎo)致壓縮到一半程序崩潰,這里就是出現(xiàn)了這種情況導(dǎo)致壓縮到一半沒(méi)成功,tmp臨時(shí)文件也沒(méi)有被刪除

5、沒(méi)有出現(xiàn)該問(wèn)題的幾個(gè)客戶是因?yàn)槿罩疚募紱](méi)有達(dá)到這種級(jí)別的量,其次其他幾個(gè)客戶的服務(wù)器性能都是很OK的

解決方法就是在加入maxFileSize配置 建議值是128M。值越大對(duì)服務(wù)器的性能要求就越高,我這邊因?yàn)榉?wù)器性能一般保險(xiǎn)起見設(shè)置128M

補(bǔ)充知識(shí):Springboot啟動(dòng)即掛掉問(wèn)題

提示說(shuō)明端口8080被占用

將端口改為其他端口號(hào)即可

以上這篇記一次springboot服務(wù)凌晨無(wú)故宕機(jī)問(wèn)題的解決就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Matplotlib可視化之自定義顏色繪制精美統(tǒng)計(jì)圖

    Matplotlib可視化之自定義顏色繪制精美統(tǒng)計(jì)圖

    matplotlib提供的所有繪圖都帶有默認(rèn)樣式.雖然這可以進(jìn)行快速繪圖,但有時(shí)可能需要自定義繪圖的顏色和樣式,以對(duì)繪制更加精美、符合審美要求的圖像.matplotlib的設(shè)計(jì)考慮到了此需求靈活性,很容易調(diào)整matplotlib圖形的樣式,需要的朋友可以參考下
    2021-06-06
  • java判斷遠(yuǎn)程服務(wù)器上的文件是否存在的方法

    java判斷遠(yuǎn)程服務(wù)器上的文件是否存在的方法

    java判斷遠(yuǎn)程服務(wù)器上的文件是否存在的方法,需要的朋友可以參考一下
    2013-03-03
  • Java類加載器ClassLoader源碼層面分析講解

    Java類加載器ClassLoader源碼層面分析講解

    ClassLoader翻譯過(guò)來(lái)就是類加載器,普通的java開發(fā)者其實(shí)用到的不多,但對(duì)于某些框架開發(fā)者來(lái)說(shuō)卻非常常見。理解ClassLoader的加載機(jī)制,也有利于我們編寫出更高效的代碼。ClassLoader的具體作用就是將class文件加載到j(luò)vm虛擬機(jī)中去,程序就可以正確運(yùn)行了
    2022-09-09
  • 關(guān)于解決雪花算法生成的ID傳輸前端后精度丟失問(wèn)題

    關(guān)于解決雪花算法生成的ID傳輸前端后精度丟失問(wèn)題

    這篇文章主要介紹了關(guān)于解決雪花算法生成的ID傳輸前端后精度丟失問(wèn)題,雪花算法生成的ID傳輸?shù)角岸藭r(shí),會(huì)出現(xiàn)后三位精度丟失,本文提供了解決思路,需要的朋友可以參考下
    2023-03-03
  • Netty框架實(shí)現(xiàn)TCP/IP通信的完美過(guò)程

    Netty框架實(shí)現(xiàn)TCP/IP通信的完美過(guò)程

    這篇文章主要介紹了Netty框架實(shí)現(xiàn)TCP/IP通信,這里使用的是Springboot+Netty框架,使用maven搭建項(xiàng)目,需要的朋友可以參考下
    2021-07-07
  • java 多線程-線程通信實(shí)例講解

    java 多線程-線程通信實(shí)例講解

    本文主要介紹java 多線程-線程通信 這里整理了相關(guān)資料及示例代碼,有興趣的小伙伴可以參考下
    2016-09-09
  • JAVA?Springboot配置i18n國(guó)際化語(yǔ)言詳細(xì)步驟

    JAVA?Springboot配置i18n國(guó)際化語(yǔ)言詳細(xì)步驟

    國(guó)際化(Internationalization,縮寫為i18n)是指根據(jù)來(lái)展示不同的內(nèi)容,使應(yīng)用程序能夠適應(yīng)不同的語(yǔ)言和文化習(xí)慣,下面這篇文章主要給大家介紹了關(guān)于JAVA?Springboot配置i18n國(guó)際化語(yǔ)言的詳細(xì)步驟,需要的朋友可以參考下
    2024-08-08
  • mybatis plus 開啟sql日志打印的方法小結(jié)

    mybatis plus 開啟sql日志打印的方法小結(jié)

    Mybatis-Plus(簡(jiǎn)稱MP)是一個(gè) Mybatis 的增強(qiáng)工具,在 Mybatis 的基礎(chǔ)上只做增強(qiáng)不做改變,為簡(jiǎn)化開發(fā)、提高效率而生。本文重點(diǎn)給大家介紹mybatis plus 開啟sql日志打印的方法小結(jié),感興趣的朋友一起看看吧
    2021-09-09
  • 一文徹底弄懂Java中MultipartFile接口和File類

    一文徹底弄懂Java中MultipartFile接口和File類

    MultipartFile是一個(gè)接口,我們可以理解為是Spring?給我們綁定的一個(gè)在使用文件上傳等時(shí)簡(jiǎn)便實(shí)現(xiàn)的口子,這篇文章主要給大家介紹了關(guān)于如何通過(guò)一文徹底弄懂Java中MultipartFile接口和File類的相關(guān)資料,需要的朋友可以參考下
    2023-11-11
  • 一文帶你了解SpringBoot的啟動(dòng)原理

    一文帶你了解SpringBoot的啟動(dòng)原理

    大家通常只需要給一個(gè)類添加一個(gè)@SpringBootApplication 注解,然后再加一個(gè)main 方法里面固定的寫法 SpringApplication.run(Application.class, args);那么spring boot 到底是如何啟動(dòng)服務(wù)的呢,接下來(lái)咱們通過(guò)源碼解析,需要的朋友可以參考下
    2023-05-05

最新評(píng)論