私のサーバーでは、ルートパーティションは73 GBですが、デバイスで約6 GBしか使用されていない場合でも、ディスクがいっぱいであるとマークされています。
# df -h
Filesystem Size Used Avail Use% Mounted on
udev 997M 0 997M 0% /dev
tmpfs 202M 41M 162M 20% /run
/dev/mapper/p22server-root 73G 68G 655M 100% /
(私はサーバーでLVMを使用しています/dev/mapper/p22server-root -> ../dm-0
:)確認してみると
ncdu -x /
総使用量は5.9GBに過ぎませんでした。
私の考えではまだ開いていますが、ファイルツリーには表示されないいくつかのファイルがあるはずです。
どのようにデバッグできますか?再起動すると、失われたスペースが回復することが分かりましたが、今は再起動できません。
答え1
疑いが本当なら、対処しやすくなるかもしれません。ラソフ。
出力で「(削除済み)」または類似の項目を見つけます。
答え2
2つの可能性があります。
1. 一部のプロセスでは、削除されたファイルはまだ開いています。
開いているすべてのファイルを表示できますlsof
。たとえば、以下は表示されるタイプと出力lsof
に表示される頻度です。
# lsof|cut -c50-54|sort|uniq -c
375 CHR
610 DIR
211 FIFO
32 IPv4
17 IPv6
40 link
419 node
152 nown
6008 REG
9 sock
598 unix
これはファイル記述子列(FD)のみを表示します。
# lsof|awk -v field="FD" 'NR==1 {c = index($0,field)} {print substr($0,c-1,length(field)+4)}'|sort|uniq -c|sort -n|tail
DEL
ヒントを表示するには、出力でこの値を持つファイルを見つけますlsof
。
2. マウントポイントの後ろに隠されたファイル
ただし、これらのファイルは、インストールフォルダに多数のファイルが保存されているときに使用されていないマウントポイントのために単に「隠されていました」ncdu
。
ルートディレクトリを別の場所にマウントして分析します。
mkdir /temp-root
mount --bind / /temp-root
ncdu -x /temp_root