Linux磁盤空間被未知資源耗盡的解決方法
在linux中,當我們使用rm在linux上刪除了大文件,但是如果有進程打開了這個大文件,卻沒有關閉這個文件的句柄,那么linux內(nèi)核還是不會釋放這個文件的磁盤空間,最后造成磁盤空間占用100%,整個系統(tǒng)無法正常運行。這種情況下,通過df和du命令查找的磁盤空間,兩者是無法匹配的,可能df顯示磁盤100%,而du查找目錄的磁盤容量占用卻很小。
遇到這種情況,基本可以斷定是某些大文件被某些程序占用了,并且這些大文件已經(jīng)被刪除了,但是對應的文件句柄沒有被某些程序關閉,造成內(nèi)核無法回收這些文件占用的空間。
那么,如何查找那些文件被某些程序占用呢,命令如下
lsof -n | grep deleted COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME dd 31708 higkoo 1w REG 8,2 5523705856 429590 /data/filetest (deleted)
命令打lsof -n | grep deleted印出所有針對已刪除文件的讀寫操作,這類操作是無效的,也正是磁盤空間莫名消失的根本原因
備注:本人遇到的場景是同事刪除了mysql的表,但是是在shell上執(zhí)行rm表的文件,而不是通過drop table之類的命令去刪除表的,于是mysql會一直占用這些表文件的句柄,最后造成磁盤空間100%,這種情況下,也不用重啟mysql,只要進入mysql客戶端執(zhí)行flush tables就行了。
以上這篇Linux磁盤空間被未知資源耗盡的解決方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
一天一個shell命令 linux文本內(nèi)容操作系列-cut命令詳解
這篇文章主要介紹了一天一個shell命令 linux文本內(nèi)容操作系列-cut命令詳解,需要的朋友可以參考下2016-06-06linux腳本實現(xiàn)自動發(fā)送和收取郵件的設置方法
這篇文章主要是介紹linux下通過腳本自動發(fā)送和收取郵件的設置方法,有需要的朋友可以參考下2013-05-05解析Linux?xfs文件系統(tǒng)stat命令Birth字段為空的原因
這篇文章主要介紹了Linux?xfs文件系統(tǒng)stat命令Birth字段為空的原因探究,stat命令在一些平臺下Birth字段有值,而在一些平臺則為空值,這是什么原因呢,下面小編給大家詳細講解,需要的朋友可以參考下2023-05-05linux網(wǎng)絡編程用到的網(wǎng)絡函數(shù)詳解用和使用示例
本文對linux網(wǎng)絡編程用到的網(wǎng)絡函數(shù)做了簡單介紹,提供了使用示例供大家參考2013-11-11