今天一臺配置比較低的服務(wù)器上部署的Java服務(wù)突然莫名其妙報錯了, ps aux | grep java命令一看,進(jìn)程在正常運(yùn)行中。
通過less命令查看日志文件,跳轉(zhuǎn)到日志底部,發(fā)現(xiàn)打印不出日志,這可真是奇怪,再次確認(rèn)還是打印不出來。于是重啟服務(wù),這一次竟然啟動失敗了。我是通過supervisord來管理的打印日志文件的,依舊看不到啟動時候的打印日志。
再接著直接通過java -jar xxx.jar的方式啟動,直接將日志打印輸出到桌面,這一次我終于看到了問題:

共享內(nèi)存文件空間不足
直接搜索,才知道可能是磁盤空間滿了,一般是服務(wù)打印的日志文件過多導(dǎo)致的。
于是我使用df -h命令,查看文件系統(tǒng)的空間占用情況。當(dāng)時這一樣的使用率是100%,可用空間為數(shù)字0(圖片是解決之后的截圖)。

查看磁盤空間使用情況

當(dāng)前文件系統(tǒng)不是直接可以直接訪問的目錄文件
由于當(dāng)前文件系統(tǒng)不是可以直接訪問的目錄文件,因此只能到根目錄執(zhí)行
du -sh *
根目錄執(zhí)行 du -sh * 結(jié)果
可以看到/home中占用了大量的磁盤空間,于是進(jìn)入/home路徑下,一層層du -sh *執(zhí)行下去,最后定位到占用大容量的文件路徑,果不其然,是有一個監(jiān)控cpu和內(nèi)存的服務(wù)在每分鐘每秒鐘不停的打印日志,于是停掉了該服務(wù),并且將日志文件全部刪除。
至此,磁盤空間就騰出來了。
重啟服務(wù),一切恢復(fù)正常!