Linux磁盤(pán)空間被未知資源耗盡的解決方法
在linux中,當(dāng)我們使用rm在linux上刪除了大文件,但是如果有進(jìn)程打開(kāi)了這個(gè)大文件,卻沒(méi)有關(guān)閉這個(gè)文件的句柄,那么linux內(nèi)核還是不會(huì)釋放這個(gè)文件的磁盤(pán)空間,最后造成磁盤(pán)空間占用100%,整個(gè)系統(tǒng)無(wú)法正常運(yùn)行。這種情況下,通過(guò)df和du命令查找的磁盤(pán)空間,兩者是無(wú)法匹配的,可能df顯示磁盤(pán)100%,而du查找目錄的磁盤(pán)容量占用卻很小。
遇到這種情況,基本可以斷定是某些大文件被某些程序占用了,并且這些大文件已經(jīng)被刪除了,但是對(duì)應(yīng)的文件句柄沒(méi)有被某些程序關(guān)閉,造成內(nèi)核無(wú)法回收這些文件占用的空間。
那么,如何查找那些文件被某些程序占用呢,命令如下
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印出所有針對(duì)已刪除文件的讀寫(xiě)操作,這類(lèi)操作是無(wú)效的,也正是磁盤(pán)空間莫名消失的根本原因
備注:本人遇到的場(chǎng)景是同事刪除了mysql的表,但是是在shell上執(zhí)行rm表的文件,而不是通過(guò)drop table之類(lèi)的命令去刪除表的,于是mysql會(huì)一直占用這些表文件的句柄,最后造成磁盤(pán)空間100%,這種情況下,也不用重啟mysql,只要進(jìn)入mysql客戶端執(zhí)行flush tables就行了。
以上這篇Linux磁盤(pán)空間被未知資源耗盡的解決方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
shell實(shí)現(xiàn)Fisher–Yates shuffle洗牌算法介紹
大家好,本篇文章主要講的是shell實(shí)現(xiàn)Fisher–Yates shuffle洗牌算法介紹,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下哦2021-11-11
linux執(zhí)行sh腳本報(bào)錯(cuò):$’\r’: 未找到命令的完美解決方法
本文給大家介紹linux執(zhí)行sh腳本報(bào)錯(cuò):$’\r’: 未找到命令的完美解決方法,原因分析及解決辦法給大家講解的非常明白,感興趣的朋友跟隨小編一起看看吧2023-02-02
淺析Shell腳本中的條件判斷[?]與[[?]]的區(qū)別
在編寫(xiě)?Shell?腳本時(shí),條件判斷是控制腳本流程的重要手段,Shell?提供了多種方式來(lái)進(jìn)行條件判斷,其中[?]和[[?]]是兩種常見(jiàn)的條件測(cè)試表達(dá)式,下面我們就來(lái)看看兩者的區(qū)別吧2024-12-12
Shell腳本計(jì)算字符串長(zhǎng)度和判斷字符串為空小技巧
這篇文章主要介紹了Shell腳本計(jì)算字符串長(zhǎng)度和判斷字符串為空小技巧,本文分別給出計(jì)算字符串長(zhǎng)度和判斷字符串為空各3種實(shí)現(xiàn)方法,需要的朋友可以參考下2015-04-04
淺談Linux 二進(jìn)制包安裝MySQL的一些問(wèn)題
下面小編就為大家?guī)?lái)一篇淺談Linux 二進(jìn)制包安裝MySQL的一些問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03

