1、首先確定是否是磁盤滿了
命令:
df -h
參數說明:
-a:列出所有的文件系統,包括系統特有的/proc等文件系統
-k:以KB的容量顯示各文件系統
-m:以MB的容量顯示各文件系統
-h:以人們較易閱讀的GB,MB,KB等格式自行顯示
-H:以M=1000K替代M=1024K的進位方式
-T:連同該分區的文件系統名稱(例如ext3)也列出
-i:不用硬盤容量,而以inode的數量來顯示
結果參數說明:
Filesystem:代表該文件系統是在哪個分區,所以列出設備名稱
1k-blocks:說明下面的數字單位是1KB,可利用-h或-m來改變容量
Used:使用掉的硬盤空間
Available:剩下的磁盤空間大小
Use%:磁盤使用率
Mounted on:磁盤掛載的目錄所在(掛載點)
顯示每個目錄的大小
命令:
du -sh /*
du參數:
-a : 列出所有的文件與目錄容量,因爲默認僅統計目錄下面的文件量而已;
-h : 以人們較易讀的容量格式(G/M)顯示;
-s : 列出總量,而不列出每個個別的目錄佔用了容量;
-S : 不包括子目錄下的總計,與-s有點差別;
-k : 以KB列出容量顯示;
-m : 以MB列出容量顯示。
與df不一樣的是,du會直接到文件系統內查找所有的文件數據。
du -S 顯示當前目錄下文件總容量(不包含子目錄),而du則在最後顯示該目錄所有文件的總容量(包含子目錄)
2.一般是直接去清理log,如果不是則可以
輸入命令:du -h --max-depth=1 尋找當前目錄,哪個文件夾佔用空間最大
3.進入logs文件夾
輸入命令:ls –lhS 將文件以從大到小順序展現
4、清理命令
注:清理log時如果進程正在使用,使用 rm -f 刪除時要麼會報錯,要麼即使刪除了磁盤依舊是滿的,所以使用清空log文件內容的命令優於刪除此文件
輸入命令:echo ''> catalina.2017-08-23.log
5、查看清理結果
服務器宕機了怎麼辦?
啓動機器,看能否登陸,如果能登陸,請檢查:
a、是否是應用程序導致內存溢出或者泄露導致
b、是否是進程過多或者不斷創建,耗盡資源導致
c、是否是數據庫程序死鎖,連接數過多導致
d、是否是應用程序異常導致
e、是否是流量負載過大導致
f、 是否是遭受黑客入侵攻擊導致
g、是否是誤操作導致
如果無法查看故障現場,則可以查詢系統日誌查看是否有異常記錄。
Linux經常死機、卡住
linux操作系統服務器在出現死機或卡頓情況,可以參考以下項目進行整體排查:
a、檢查服務器進程與服務否佔用了太多的內存或是沒有釋放內存,當服務器內存用完後,然後就會很快宕機;
b、看看/var/spool/cron 裏面是不是有cron(計劃任務、自動任務)在對應時間段內執行;
c、檢查web服務器的參數是否超過了服務器的性能,如允許最大連接數過高等;
d、進程數很高,服務癱瘓,機器假死(例如zombie進程是否過多,一直佔用資源);
e、cat /var/log/message查看系統日誌是否有異常
f、檢查磁盤是否有壞塊。(可使用badblocks命令配合參數)
g、內核消耗過大,查看是否有瞬間資源佔用過大的進程或服務;
h、ps -ef 查看進程異常否,是否存在攻擊