0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux系統(tǒng)解決磁盤空間不足的問題

嵌入式加油站 ? 來源:嵌入式加油站 ? 2023-11-09 11:05 ? 次閱讀

【前言】

筆者最近有服務(wù)器突然停服務(wù)了,我登錄服務(wù)器嚇了一跳,下一面我們一起回顧一這個(gè)驚心動(dòng)魄故事吧。

首先,使用ssh遠(yuǎn)程登錄服務(wù)器,請(qǐng)出df大神看看硬盤的使用情況吧

df

Linux df(英文全拼:disk free) 命令用于顯示目前在 Linux 系統(tǒng)上的文件系統(tǒng)磁盤使用情況統(tǒng)計(jì)。

一般/dev/vda1為系統(tǒng)盤,像vdb、vdc為數(shù)據(jù)盤。

我們發(fā)現(xiàn)df輸出的格式?jīng)]有單位,可讀性太低了。使用-h參數(shù)可解決。

-h或–human-readable 以K,M,G為單位,提高信息的可讀性。

wKgZomVMTIWABYPvAABjUvsIj80001.jpg

我的媽啊,所以居然/dev/vda1為系統(tǒng)盤100%, 還好能ssh登錄服務(wù)器,只是http,mysql,java應(yīng)用服務(wù)崩潰了。

是哪個(gè)目錄或文件太小了,導(dǎo)致呢?我想到可能是隊(duì)友java應(yīng)用打印的日志,但他布哪個(gè)目錄,我不清楚。我們有應(yīng)用服務(wù)一般在/www/wwwroot, 所以我先定位在此目錄。然后請(qǐng)出du命令

du

Linux du (英文全拼:disk usage)命令用于顯示目錄或文件的大小。先看看du

-h:以人類可讀的方式顯示

-a:顯示目錄占用的磁盤空間大小,還要顯示其下目錄和文件占用磁盤空間的大小
-s:顯示目錄占用的磁盤空間大小,不要顯示其下子目錄和文件占用的磁盤空間大小
-c:顯示幾個(gè)目錄或文件占用的磁盤空間大小,還要統(tǒng)計(jì)它們的總和
--apparent-size:顯示目錄或文件自身的大小
-l :統(tǒng)計(jì)硬鏈接占用磁盤空間的大小
-L:統(tǒng)計(jì)符號(hào)鏈接所指向的文件占用的磁盤空間大小

du -h:這個(gè)就不多說了。
du -h

從輸出可以看出du是顯示所有目錄和子目錄所占用的磁盤空間。輸出內(nèi)容太多太亂了,不方便排查。

可以用下面的參數(shù)

–max-depth=<目錄層數(shù)>

使用--max-depth=<目錄層數(shù)> 超過指定層數(shù)的目錄后,就方面排除了。

比如最多顯示1層:

wKgaomVMTLiAetvZAABradVQjjI469.jpg

顯示多了不方便查看,太亂多,如果再多點(diǎn),還很難查到,哪個(gè)目錄或文件大,就要用到排序, 請(qǐng)出sort命令。

sort

使用sort命令即可排序。 使用|來分隔不同的命令。

下面說下本文會(huì)用到的sort參數(shù): -r(--reverse) 以相反的順序來排序 -h( --human-numeric-sort):使用易讀性數(shù)字(例如:2K、1G),默認(rèn)從小到大排序 -s -s或–summarize 僅顯示總計(jì)。只顯示指定目錄或當(dāng)前目錄的大小。

我們只顯示一層目錄大小并排序,就能很多找出最大的目錄或文件。

wKgZomVMTNaAPeGyAADAoynRgCs072.jpg
wKgaomVMTPCADlcKAAAcaK0GQ1E156.jpg

這里我們很快知道了哪個(gè)目錄占用空間大,直接進(jìn)入目錄manager

查看一下,發(fā)現(xiàn)有一個(gè)日志文件,太嚇人了

wKgZomVMTIWAS2eAAAD0I2wOb0o230.jpg

不知隊(duì)友是怎么想的,這么的日志文件,怎么查看呢。打印的是一些什么呢?看日志命名應(yīng)該是9月20日啟動(dòng)的服務(wù),才過去幾天啊,就打印了那么多日志,云服務(wù)器很貴的,不能這樣玩啊, 而且這個(gè)日志文件,根本沒法看啊。

爭(zhēng)得隊(duì)友同事,把此文件刪除。下面命令:

rm -f 0920.log

占用硬盤空間仍然

再df -h看一下,占用有硬盤空間依然。怎么回事呢?

雖然刪除了那個(gè)文件,但是服務(wù)一直占用那個(gè)文件,必須要重啟占用應(yīng)用服務(wù)。是哪個(gè)服務(wù),我也不知道。

用下面看看是哪個(gè)程序在寫0920.log

lsof -n | grep 0920.log

wKgaomVMTIWAR1HaAAFVbza1Sa0777.jpg

只知道是java應(yīng)用在寫0920.log,具體服務(wù)還是不清楚。

問題臨時(shí)解決

用history看看執(zhí)行過什么命令,果然被我查到了。

wKgaomVMTIWAAQ_AAAAHPuG4x4E430.jpg

如果history沒找到,可以看看開機(jī)啟動(dòng), 用下面命令:

cat /etc/rc.local 和

ls /etc/init.d

重啟java服務(wù)后, 硬盤空間,就釋放了。

wKgaomVMTIWAbrRfAAAl_uFOBog950.jpg

但這個(gè)方法,治標(biāo)不治本,過幾天,還是被日志撐滿服務(wù)器。還是讓隊(duì)友改代碼吧。

總結(jié)

應(yīng)用程序打印日志無可說的, 但這樣打印日志,不可取的。各位看官你們說呢?







審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux系統(tǒng)
    +關(guān)注

    關(guān)注

    4

    文章

    587

    瀏覽量

    27181
  • SSH
    SSH
    +關(guān)注

    關(guān)注

    0

    文章

    178

    瀏覽量

    16226

原文標(biāo)題:Linux查找大文件、大目錄 - 解決磁盤空間不足的問題

文章出處:【微信號(hào):嵌入式加油站,微信公眾號(hào):嵌入式加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何在Ubuntu系統(tǒng)中釋放磁盤空間

    這個(gè)帶有腳本的快速指南有助于清理舊的快照版本,并在 Ubuntu 系統(tǒng)中釋放一些磁盤空間
    發(fā)表于 10-20 10:27 ?2317次閱讀

    Linux磁盤空間異常爆滿,該怎么查?

    在服務(wù)器運(yùn)維過程中,我們時(shí)常會(huì)遇到這樣的情況,收到服務(wù)器磁盤空間告警。
    發(fā)表于 11-29 09:00 ?830次閱讀

    Linux webpack 10.1false磁盤空間報(bào)告錯(cuò)誤

    大家好,在幾次不成功的安裝之后,我甚至嘗試以root用戶身份登錄(!),但總是得到錯(cuò)誤的錯(cuò)誤警告說“磁盤空間太小”。但是我有大約17 GB的可用空間。Debian和Debian類似的分布都有相同
    發(fā)表于 09-29 14:54

    Linux下增加磁盤空間的步驟

    在給Linux分區(qū)時(shí),總是有那么一點(diǎn)吝嗇,給的空間較小。在使用過程中,裝上Matlab等大型軟件后,才驀然發(fā)現(xiàn)磁盤已沒有空間,不過亡羊補(bǔ)牢為時(shí)不晚。Warning:對(duì)硬盤分區(qū)很危險(xiǎn),要
    發(fā)表于 07-11 08:42

    Linux下可以用df命令查看磁盤空間

    Linux下 df 命令查看磁盤空間
    發(fā)表于 07-12 11:07

    Linux的剩余磁盤空間利用技巧

    Linux利用剩余的磁盤空間
    發(fā)表于 07-30 14:28

    啟動(dòng)DevEco Studio的本地模擬器提示磁盤空間不足要怎么解決?

    啟動(dòng)模擬器失敗,提示“Insufficient disk space (< 2 GB) for the deployed directory.”,磁盤空間不足。
    發(fā)表于 06-07 10:16

    如何在Mac上清理磁盤空間?這些方法你用過了嗎

    簍】,或者使用組合按鍵【Command+Shift+Delete】直接清空廢紙簍3、使用儲(chǔ)存空間管理清理磁盤空間Mac系統(tǒng)提供了一個(gè)實(shí)用的儲(chǔ)存空間管理功能,可按照以下步驟進(jìn)行優(yōu)化
    發(fā)表于 09-09 21:05

    請(qǐng)問根目錄分區(qū)磁盤空間不夠了怎么擴(kuò)充?

    安裝了一些軟件后,根目錄磁盤空間使用率已經(jīng)達(dá)到92%了,SD卡是32G的,實(shí)際只使用了16G,可不可以擴(kuò)大根目錄分區(qū)的容量,把后面16G也給分配到根目錄分區(qū)?
    發(fā)表于 09-13 07:22

    Linux中的可用磁盤空間如何檢查?

    跟蹤磁盤利用率信息是系統(tǒng)管理員(和其他人)的日常待辦事項(xiàng)列表之一。Linux 有一些內(nèi)置的使用程序來幫助提供這些信息。df 命令意思是 “disk-free”,顯示 Linux
    的頭像 發(fā)表于 07-25 18:53 ?3336次閱讀
    <b class='flag-5'>Linux</b>中的可用<b class='flag-5'>磁盤空間</b>如何檢查?

    Steam 客戶端 Beta 版更新:針對(duì)分配磁盤空間性能優(yōu)化

    今天,V 社發(fā)布了 Steam 客戶端 Beta 版更新公告,此次更新主要針對(duì)分配磁盤空間的性能進(jìn)行優(yōu)化。 據(jù)悉,此次更新包括: 優(yōu)化了安裝或更新時(shí)預(yù)分配磁盤空間的性能。 改進(jìn)了 Steam 覆蓋
    的頭像 發(fā)表于 11-06 16:43 ?1788次閱讀

    通過df命令顯示磁盤空間使用情況

    這 df 命令顯示文件系統(tǒng)上的設(shè)備名稱、總塊數(shù)、總磁盤空間、已用磁盤空間、可用磁盤空間和掛載點(diǎn)信息。
    的頭像 發(fā)表于 05-16 11:30 ?1372次閱讀

    如何釋放VMware虛擬磁盤未使用空間呢?

    在Windows 11中通過VMware安裝Ubuntu 22.04做一些Linux相關(guān)的學(xué)習(xí),剛安裝的時(shí)候VMware虛擬磁盤空間也就6~7GB,但是沒用幾天,VMware虛擬磁盤空間就飆升
    的頭像 發(fā)表于 08-28 10:15 ?4628次閱讀
    如何釋放VMware虛擬<b class='flag-5'>磁盤</b>未使用<b class='flag-5'>空間</b>呢?

    linux磁盤空間滿了怎么清理

    和告警信息一致,接著我們就是要找到導(dǎo)致磁盤空間滿的目錄或文件 如何找到占用空間大的目錄或文件? 一種比較笨的方法是,在根目錄下,通過du -hs命令,列出各目錄所占空間大小。
    的頭像 發(fā)表于 11-09 11:46 ?968次閱讀
    <b class='flag-5'>linux</b><b class='flag-5'>磁盤空間</b>滿了怎么清理

    linux傳輸一半磁盤滿了怎么清理

    在使用Linux操作系統(tǒng)時(shí),磁盤空間不足是一個(gè)常見的問題。當(dāng)磁盤空間超過一半被使用時(shí),可能會(huì)導(dǎo)致系統(tǒng)
    的頭像 發(fā)表于 11-23 10:34 ?450次閱讀