dfとduの出力の違いをどのように分類しますか?

dfとduの出力の違いをどのように分類しますか?

メモ:私はこのサイトの他の質問について完全に知っています。

私の問題は次のように表示されます。

$ du -sh / --exclude=/proc
4.0G    /

そして

$ df -h /
Filesystem                 Size  Used Avail Use% Mounted on
/dev/mapper/vg_os-lv_root   18G 16.0G  1.9G  90% /
devtmpfs                   3.9G     0  3.9G   0% /dev
tmpfs                      3.9G   39M  3.8G   1% /dev/shm
tmpfs                      3.9G   17M  3.9G   1% /run
tmpfs                      3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/vda1                  497M  215M  283M  44% /boot
tmpfs                      783M     0  783M   0% /run/user/937000511
tmpfs                      783M     0  783M   0% /run/user/937000593

この不一致の原因を特定するために、この問題をどのように分類できますか?

答え1

この特別な場合の問題は、ファイルを回転させる実行中のデーモンでしたが、新しいファイルへのログ記録を開始するようにトリガーするlogrotateサービスが送信されていないことです。これにより、これら2つのCLIツールがどのように機能するかを考えると、kill -HUP12GログファイルがHDDのスペースを占有しているかのように表示され続けて通過しますが、df表示されません。du

ラソフ

ログファイルを使用lsofして調べると、問題が発生しました。

$ lsof | grep -E 'COMMAND|/var/log/maxscale'
COMMAND     PID   TID           USER   FD      TYPE             DEVICE  SIZE/OFF       NODE NAME
maxscale   5976             maxscale  cwd       DIR              253,1        4096      82757 /var/log/maxscale
maxscale   5976             maxscale    4w      REG              253,1 12506246848      82752 /var/log/maxscale/maxscale.log (deleted)
maxscale   5976  5977       maxscale  cwd       DIR              253,1        4096      82757 /var/log/maxscale
maxscale   5976  5977       maxscale    4w      REG              253,1 12506246848      82752 /var/log/maxscale/maxscale.log (deleted)
maxscale   5976  5978       maxscale  cwd       DIR              253,1        4096      82757 /var/log/maxscale
maxscale   5976  5978       maxscale    4w      REG              253,1 12506246848      82752 /var/log/maxscale/maxscale.log (deleted)
maxscale   5976  5979       maxscale  cwd       DIR              253,1        4096      82757 /var/log/maxscale
maxscale   5976  5979       maxscale    4w      REG              253,1 12506246848      82752 /var/log/maxscale/maxscale.log (deleted)
maxscale   5976  5980       maxscale  cwd       DIR              253,1        4096      82757 /var/log/maxscale
maxscale   5976  5980       maxscale    4w      REG              253,1 12506246848      82752 /var/log/maxscale/maxscale.log (deleted)
MHD-singl  5976  5981       maxscale  cwd       DIR              253,1        4096      82757 /var/log/maxscale
MHD-singl  5976  5981       maxscale    4w      REG              253,1 12506246848      82752 /var/log/maxscale/maxscale.log (deleted)
bash      12629                 root  cwd       DIR              253,1        4096      82757 /var/log/maxscale

出力には、lsof問題のサイズと実際に削除されたサイズも表示されます。

maxscale 5976 maxscale 4w REG 253,1 12506246848 82752 /var/log/maxscale/maxscale.log (削除済み)

スペースを解放するためにデーモンを停止してファイル記述子を解放/閉じます。

$ df -h
Filesystem                 Size  Used Avail Use% Mounted on
/dev/mapper/vg_os-lv_root   18G  4.0G   14G  23% /
devtmpfs                   3.9G     0  3.9G   0% /dev
tmpfs                      3.9G   39M  3.8G   1% /dev/shm
tmpfs                      3.9G   17M  3.9G   1% /run
tmpfs                      3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/vda1                  497M  215M  283M  44% /boot
tmpfs                      783M     0  783M   0% /run/user/937000511
tmpfs                      783M     0  783M   0% /run/user/937000593

今、私たちdfdu同じページにいます。

関連情報