繼昨天伺服器上應用 CPU占用過高 後面該應用宕掉了以後 java 一次CPU占用過高問題的排查及解決 今天又出現了更嚴重的問題 昨天解決完問題 今天早些時候 出現了系統無法登錄 查詢日誌定位應該數資料庫的問題 後面發現是磁碟滿了 其實還是昨天的出現問題的導致, 死迴圈刷了特別多的日誌,,導致磁碟空 ...
繼昨天伺服器上應用 CPU占用過高 後面該應用宕掉了以後 java 一次CPU占用過高問題的排查及解決
今天又出現了更嚴重的問題 昨天解決完問題 今天早些時候 出現了系統無法登錄 查詢日誌定位應該數資料庫的問題
後面發現是磁碟滿了 其實還是昨天的出現問題的導致, 死迴圈刷了特別多的日誌,,導致磁碟空間不足 導致資料庫讀寫出問題了,繼而導致應用不可用
使用cd / 後 du -sh * 列出各文件夾的占用大小
可以看到主要是usr/ 進入 usr 繼續看磁碟占用
/usr/local文件夾依舊還是最大的
繼續進入/usr/local
基本可以確定是日誌文件太多了
清理掉一些日誌 mysql就正常了, 應用也正常了, 故而整理了一下伺服器的磁碟, 避免下次再次發生磁碟不足的情況
索性這兩次出現的問題都是一些內部的應用, 出現了問題影響範圍有限
-----------------------------------------------------------------------------------華麗的分割線-------------------------------------------------------------------------------------------
在整理linux磁碟的時候 查了一些資料 故而整理一下 ,留給以後需要的時候的使用
df -h 查看磁碟占用情況
du -sh * 進入某個人文件夾後 使用該命令可以看該文件夾下文件的占用情況
但是發現使用rm -rf 文件名 刪除文件後 磁碟空間並沒有變化
查詢資料發現是 通過rm或者文件管理器刪除文件將會從文件系統的目錄結構上解除鏈接(unlink).然而如果文件是被打開的(有一個進程正在使用),那麼進程將仍然可以讀取該文件,磁碟空間也一直被占用。
簡單的理解 就是rm 刪除的是引用 如果引用對應的文件正在被使用,這個文件是不會真正的被刪除掉的
lsof | grep deleted
-----------------------------------------------------------------------------------華麗的分割線-------------------------------------------------------------------------------------------
順便學習一下 lsof (list opened files)
lsof全名list opened files,也就是列舉系統中已經被打開的文件。我們都知道,linux環境中,任何事物都是文件,
設備是文件,目錄是文件,甚至sockets也是文件。所以,用好lsof命令,對日常的linux管理非常有幫助。
lsof -i : 埠號 可以用來查詢埠時候被占用
lsof -i :8082
lsof 文件 顯示開啟文件/usr/local/tomcat_backend/logs/catalina.out的進程
lsof /usr/local/tomcat_backend/logs/catalina.out
lsof - p 進程PID
lsof - p 1498
看進程號為1498的進程打開了哪些文件