解決ubuntu經常性應用掉線並且xshell無法連接的問題
1.背景
自己搭建了個ubuntu服務器,上面部署了個hexo,發佈一些簡單的博客文章,但是發現啊,hexo經常掉線,排查問題的時候,xshell經常無法連接,於是不得不連接服務器進行本地調試。經過了多次排查,發現竟然是 /var/log目錄滿了造成的。
2.問題排查過程
2.1 排除網絡問題
服務器是在拼多多上買的(通過外網映射來部署個人應用),服務器的配置很低,但是部署個人博客是夠用了。前邊出現了幾次服務掉線的情況,偶爾出現xshell無法連接的問題,一直以爲是網絡問題,但是人家外網映射的頁面是沒有問題的,說明並不是網絡問題。
2.1 排除內存和CPU過度佔用問題
通過top、free 命令查看資源佔用情況,服務器負載不高。
2.2 排除線程數不足
當前線程數:
最大線程數:
說明線程數並未超過限制。
2.3 按照經驗,查看磁盤
通過使用df 命令查看整體磁盤佔用情況,發現 /var/log 目錄 已經 100%(剛纔忘記截圖了。。,沒有保存滿了的截圖)。日誌目錄滿了,造成日誌無法寫入日誌文件syslog,操作無法完成,所以 xshell 無法連接並且hexo服務也退出了。
3.解決方案
既然找到了原因,那麼就可以解決。
有兩種方案:
將日誌目錄遷移到其他目錄,然後進行軟鏈;
創建定時任務,定時刪除操作日誌。
因爲是個人博客,沒有太多業務,對於系統日誌的完整性要求不高,所以這裏採用了定時刪除系統日誌的方式。
3.1 使用 crontab 創建定時任務
每50分鐘,對日誌文件進行一次清空處理。
*/50 * * * * echo ‘’ > /var/log/syslog
注意:如果沒有安裝crontab,請先執行 apt-get install cron 進行安裝。
3.2 查看已經創建的定時任務
crontab -l
更多內容,請關注我的個人網站 愛秀逗www.5ixiudou.com,或者關注我的CSDN博客,大家共同學習,共同進步。