欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux如何處理文件已刪除但空間不釋放的問題

 更新時間:2020年03月09日 11:19:47   作者:Hugh的白板  
這篇文章主要介紹了Linux如何處理文件已刪除但空間不釋放的問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

問題產(chǎn)生背景

一個業(yè)務(wù)系統(tǒng)的服務(wù)器監(jiān)控系統(tǒng)發(fā)來預警通知,磁盤空間使用率已經(jīng)達到90%了,然后就登陸服務(wù)器搜索了下比較大的日志文件,全部都刪除了(坑在此處埋上了),磁盤空間釋放了一些,當時也是疏忽,沒有確認查出并刪除的文件大小的空間是否已經(jīng)全部釋放。沒過幾天,服務(wù)器又被預警了,比較納悶,日志怎么增長的這么快,排查之后發(fā)現(xiàn),原來是上次操作刪除文件后,有個較大的文件空間沒有釋放導致的。

問題還原及解決辦法

找到占用空間較大的數(shù)據(jù)文件

#查看磁盤空間使用情況
$ df -h
#先查詢/tmp目錄下占用空間較大的文件
$ du -sh /tmp/*|sort -nr|head -3
#在查詢/home目錄下占用空間較大的文件
$ du -sh /home/*|sort -nr|head -3
# 找到文件后,進行刪除即可,刪除后,使用 df -h進行查看是否已經(jīng)釋放

說明下為啥在找文件的時候,先找了/tmp/*目錄下的文件

Linux系統(tǒng)刪除策略:Linux沒有回收站功能,所以服務(wù)去會將要刪除的文件都會先移動到系統(tǒng)/tmp目錄下,然后定期清除/tmp目錄下的數(shù)據(jù)。

有好多服務(wù)器在安裝系統(tǒng)的時候沒有給/tmp進行單獨分區(qū),所以有可能是/tmp目錄下的數(shù)據(jù)占用了很大一部分空間,可以先清除掉/tmp目錄下的文件來釋放空間。

本次出現(xiàn)刪除文件不釋放空間,是在刪除/home目錄空間下的一個dubbo服務(wù)日志文件時發(fā)生的。

刪除文件不釋放空間原因

一般情況下不會出現(xiàn)刪除文件后空間不釋放的情況,但在這個文件被進程鎖住或者是有進程一直往這個文件寫數(shù)據(jù)等情況下,還是會出現(xiàn)的。了解Linux下文件的存儲機制和存儲結(jié)構(gòu)的原理就會理解這個問題了。

文件存在Linux系統(tǒng)中分為兩部分:指針部分和數(shù)據(jù)部分。

  • 指針部分:存在文件系統(tǒng)的meta-data中,我們執(zhí)行rm命令將數(shù)據(jù)刪除后,這個指針就從meta-data中被清除掉了。
  • 數(shù)據(jù)部分:數(shù)據(jù)就是直接存儲在磁盤上了,當指針被從meta-data中清除后,數(shù)據(jù)部分占用的空間就可以被覆蓋并寫入新的內(nèi)容。

之所以出現(xiàn)刪除dubbo日志文件后,空間還不釋放,就是由于dubbo進程還在一直往這個文件里面寫數(shù)據(jù),在刪除文件的時候,指針并沒有被從meta-data中清除掉,所以日志文件還是占用著空間。

如何找到此類文件

可以通過lsof命令獲取已經(jīng)刪除但是還被程序占用的文件列表:

lsof | grep delete

如何釋放此類空間

解決這一類問題釋放空間的方法有很多種:重啟占用的進程、重啟操作系統(tǒng)、通過命令。非生產(chǎn)環(huán)境采用前兩種方式最方便了,但是對于生產(chǎn)環(huán)境,還是盡量采用命令的方式,其實命令也很簡單:

echo " " >/home/dubbo/log/xxx.log

通過這種方式,會里面釋放掉占用的磁盤空間,也不影響進程繼續(xù)執(zhí)行。

到此這篇關(guān)于Linux如何處理文件已刪除但空間不釋放的問題的文章就介紹到這了,更多相關(guān)Linux 文件刪除空間不釋放內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • linux 入侵常用命令匯編

    linux 入侵常用命令匯編

    掌握這些命令也有助于配置linux的安全,大家可以看看。
    2009-07-07
  • 25個 Git 進階技巧(翻譯)

    25個 Git 進階技巧(翻譯)

    這篇文章主要介紹了25個 Git 進階技巧(翻譯),需要的朋友可以參考下
    2015-05-05
  • ubuntu開機后ROS程序自啟動問題

    ubuntu開機后ROS程序自啟動問題

    這篇文章主要介紹了ubuntu開機后ROS程序自啟動問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • CentOS7下Firewall防火墻配置用法詳解(推薦)

    CentOS7下Firewall防火墻配置用法詳解(推薦)

    centos 7中防火墻是一個非常的強大的功能了,這篇文章主要介紹了CentOS7下Firewall防火墻配置用法詳解(推薦),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。
    2016-12-12
  • linux下獲取文件的創(chuàng)建時間與實戰(zhàn)教程

    linux下獲取文件的創(chuàng)建時間與實戰(zhàn)教程

    這篇文章主要給大家介紹了關(guān)于linux下獲取文件的創(chuàng)建時間與實戰(zhàn)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用linux系統(tǒng)具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-12-12
  • sersync實現(xiàn)數(shù)據(jù)實時同步的方法

    sersync實現(xiàn)數(shù)據(jù)實時同步的方法

    下面小編就為大家分享一篇sersync實現(xiàn)數(shù)據(jù)實時同步的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • Apache使用.htaccess 屏蔽惡意 User Agent(防蜘蛛)

    Apache使用.htaccess 屏蔽惡意 User Agent(防蜘蛛)

    這篇文章主要介紹了Apache使用.htaccess 屏蔽惡意 User Agent(防蜘蛛),需要的朋友可以參考下
    2016-07-07
  • 淺談Linux的零拷貝技術(shù)

    淺談Linux的零拷貝技術(shù)

    零拷貝主要的任務(wù)就是避免CPU將數(shù)據(jù)從一塊存儲拷貝到另外一塊存儲,主要就是利用各種零拷貝技術(shù),避免讓CPU做大量的數(shù)據(jù)拷貝任務(wù),減少不必要的拷貝,需要的朋友可以參考下
    2023-04-04
  • Apache2.2.16+PHP5.3.3+MySQL5.1.49的配置方法

    Apache2.2.16+PHP5.3.3+MySQL5.1.49的配置方法

    輕松配置PHP5.3.3+Apache2.2.16+MySQL5.1.49,下面是有詳細的步驟說明。
    2010-09-09
  • Linux xargs命令的使用

    Linux xargs命令的使用

    這篇文章主要介紹了Linux xargs命令的使用,幫助大家更好的掌握Linux系統(tǒng)的使用,感興趣的朋友可以了解下
    2020-08-08

最新評論