日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 人文社科 > 生活经验 >内容正文

生活经验

Linux df -h 显示磁盘空间满,但实际未占用满——问题分析

發(fā)布時(shí)間:2023/11/28 生活经验 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux df -h 显示磁盘空间满,但实际未占用满——问题分析 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

問(wèn)題現(xiàn)象

工作中遇到一個(gè)問(wèn)題,在 TX2 系統(tǒng)上,告警提示磁盤(pán)空間不夠,如圖所示

wohu@wohu:/$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        28G   28G     0 100% /
devtmpfs        7.7G     0  7.7G   0% /dev
tmpfs           7.7G  220K  7.7G   1% /dev/shm
tmpfs           7.7G  774M  7.0G  10% /run
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           7.7G     0  7.7G   0% /sys/fs/cgroup
tmpfs           786M   16K  786M   1% /run/user/106
tmpfs           786M     0  786M   0% /run/user/1002
tmpfs           786M     0  786M   0% /run/user/1001
/dev/sda1       1.9T  1.4T  518G  73% /videos

問(wèn)題分析

  1. 首先使用 sudo du / -h --max-depth=1 命令查看各個(gè)目錄的占用空間,試圖找到占用較多空間的目錄
wohu@wohu:/$ sudo du / -h --max-depth=1
[sudo] password for icsc-rudiadmin09:
8.0K    /media
15M     /bin
du: cannot access '/run/user/106/gvfs': Permission denied
774M    /run
4.0K    /snap
16K     /lost+found
4.0K    /srv
du: cannot access '/proc/19638': No such file or directory
du: cannot access '/proc/19639/task/19639/fd/4': No such file or directory
du: cannot access '/proc/19639/task/19639/fdinfo/4': No such file or directory
du: cannot access '/proc/19639/fd/3': No such file or directory
du: cannot access '/proc/19639/fdinfo/3': No such file or directory
0       /proc
4.0K    /mnt
13M     /etc
4.8G    /usr
34M     /boot
12M     /sbin
1.5G    /opt
1.7G    /var
1.4T    /videos
255M    /lib
0       /sys
188K    /dev
5.5M    /root
1.8M    /tmp
1.5G    /home
1.4T    /

但是從結(jié)果顯示來(lái)看并沒(méi)有占用大空間的磁盤(pán),于是乎繼續(xù)分析。

  1. 查看 inode 的使用率,懷疑 inode 不夠?qū)е麓藛?wèn)題
wohu@wohu:/tmp$ df -i
Filesystem        Inodes  IUsed     IFree IUse% Mounted on
/dev/root        1835008 201065   1633943   11% /
devtmpfs         1994185    737   1993448    1% /dev
tmpfs            2010884      6   2010878    1% /dev/shm
tmpfs            2010884   1969   2008915    1% /run
tmpfs            2010884      6   2010878    1% /run/lock
tmpfs            2010884     16   2010868    1% /sys/fs/cgroup
tmpfs            2010884     14   2010870    1% /run/user/106
tmpfs            2010884      4   2010880    1% /run/user/1002
tmpfs            2010884      4   2010880    1% /run/user/1001
/dev/sda1      524437048  44385 524392663    1% /videos

通過(guò) df -i 命令查看后發(fā)現(xiàn) inode 使用率也正常的,只能進(jìn)一步分析。

  1. 使用 lsof 檢查,懷疑是不是有可能文件已被刪除,但是進(jìn)程還存活的場(chǎng)景
wohu@wohu:/tmp$ sudo lsof |grep delete
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/106/gvfsOutput information may be incomplete.
apache2     337               www-data   10u      REG              179,1             0     393922 /tmp/.ZendSem.HuhGBk (deleted)
apache2     338               www-data   10u      REG              179,1             0     393922 /tmp/.ZendSem.HuhGBk (deleted)
apache2     339               www-data   10u      REG              179,1             0     393922 /tmp/.ZendSem.HuhGBk (deleted)
apache2     340               www-data   10u      REG              179,1             0     393922 /tmp/.ZendSem.HuhGBk (deleted)
apache2     341               www-data   10u      REG              179,1             0     393922 /tmp/.ZendSem.HuhGBk (deleted)
apache2   32749                   root   10u      REG              179,1             0     393922 /tmp/.ZendSem.HuhGBk (deleted)
apache2   32752               www-data   10u      REG              179,1             0     393922 /tmp/.ZendSem.HuhGBk (deleted)
apache2   32753               www-data   10u      REG              179,1             0     393922 /tmp/.ZendSem.HuhGBk (deleted)
apache2   32754               www-data   10u      REG              179,1             0     393922 /tmp/.ZendSem.HuhGBk (deleted)
apache2   32755               www-data   10u      REG              179,1             0     393922 /tmp/.ZendSem.HuhGBk (deleted)
apache2   32756               www-data   10u      REG              179,1             0     393922 /tmp/.ZendSem.HuhGBk (deleted)

Linux 里的文件被刪除后,空間沒(méi)有被釋放是因?yàn)樵?Linux 系統(tǒng)中,通過(guò) rm 或者文件管理器刪除文件將會(huì)從文件系統(tǒng)的目錄結(jié)構(gòu)上解除鏈接 (unlink) 。然而如果文件是被打開(kāi)的(有一個(gè)進(jìn)程正在使用),那么進(jìn)程將仍然可以讀取該文件,磁盤(pán)空間也一直被占用。裝態(tài)為 deleted 為標(biāo)記被刪除,其實(shí)該文件并沒(méi)有從磁盤(pán)中刪除,類(lèi)似windows下的回收站狀態(tài)。

即使將如上所示的進(jìn)程全部殺掉,發(fā)現(xiàn)空間占用仍是 100%,此時(shí)頭大呀。。

突然回想起,是不是由于掛載盤(pán)導(dǎo)致的,因?yàn)?TX2 空間本來(lái)就小,所以掛載了個(gè)移動(dòng)硬盤(pán)。而且由于中間掛載盤(pán)丟失我又重新掛載的場(chǎng)景,于是繼續(xù) Google,終于發(fā)現(xiàn)問(wèn)題原因。

  1. 如果mount目錄下原來(lái)是有文件存在的,那么該目錄被 mount 之后這些文件就會(huì)被隱藏,不屬于該文件系統(tǒng),使用du命令是看不到的。
  • 卸載掛載盤(pán)
wohu@wohu:/$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        28G   28G     0 100% /
devtmpfs        7.7G     0  7.7G   0% /dev
tmpfs           7.7G  220K  7.7G   1% /dev/shm
tmpfs           7.7G  774M  7.0G  10% /run
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           7.7G     0  7.7G   0% /sys/fs/cgroup
tmpfs           786M   16K  786M   1% /run/user/106
tmpfs           786M     0  786M   0% /run/user/1002
tmpfs           786M     0  786M   0% /run/user/1001
/dev/sda1       1.9T  1.4T  518G  73% /videos
wohu@wohu:/$ sudo unmount videos
  • 查看卸載之后掛載盤(pán)大小

    果然發(fā)現(xiàn) videos 目錄下有較多的視頻占用了磁盤(pán)空間。

wohu@wohu:/videos$ cd ../
wohu@wohu:/$ du -h videos
...
...
...
18G     videos/backup
18G     videos
  • 將 videos 目錄下的文件刪除或拷貝到其他目錄,并重新掛載

由此問(wèn)題得到解決。

問(wèn)題總結(jié)

在掛載目錄時(shí),要確認(rèn)掛載的目錄是否有文件,如果有文件那么掛載之后這些文件就會(huì)隱藏,此時(shí)使用 du 命令是看不到這些文件的。

總結(jié)

以上是生活随笔為你收集整理的Linux df -h 显示磁盘空间满,但实际未占用满——问题分析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。