ramdiskのduはdfより3GB少なく表示されます。

ramdiskのduはdfより3GB少なく表示されます。

私はduとdfの間にわずかな違いがあることを知っていますが、duの私のRAMディスクは13Gを占めていますが、dfは16GBを使用しているとマークされています。これはかなり大きな違いのようです。これは普通ですか?

[root@zserver2 ramdisk]# du -h .
...
13G .

[root@zserver2 ramdisk]# df -h
Filesystem            Size  Used Avail Use% Mounted on
...
none                   16G   16G     0 100% /home/stuff/ramdisk

RAMディスクはfstabで定義されており、デフォルトは32 GB RAMの50%です。

# cat /etc/fstab
...
none             /home/stuff/ramdisk   tmpfs   mode=774,uid=500,gid=501  0     0

答え1

一部のファイルはラムディスクから削除されましたが、一部のプロセスにはまだ開いているファイルハンドルがある可能性があります。これを確認する簡単な方法は、開いているがlsof /home/stuff/ramdiskファイルシステムに存在しないファイルを使用して「(削除済み)」とマークすることです。

たとえば、 "/dev/shm/test"ファイルを削除しましたが、まだPythonスクリプトによって開かれています。

% df -h /dev/shm
Filesystem      Size  Used Avail Use% Mounted on
shm             512M  257M  256M  51% /dev/shm
% du -h /dev/shm
84K    /dev/shm
% lsof /dev/shm
COMMAND     PID     USER   FD   TYPE DEVICE  SIZE/OFF  NODE NAME
[...]
python    39756 adaephon    5r   REG   0,13 268435456 44790 /dev/shm/test (deleted)

答え2

あなたはできます

  • RAMディスクから削除されたが、一部のプロセスまたはスレッドによってまだ開いているファイルはありますか? [これらのプロセス/スレッドが終了すると、OSは実際にこれらのinodeを解放するため、dfは以前より3GB少なく報告されます。]

  • duはディレクトリ/ファイル内の多くのエントリにアクセスできませんか? 【編集証?ルートキットまたは隠された悪意のあるコンテンツかもしれません...]

私の頭の中に浮かぶ他の可能性があると確信しています。 [ファイルシステムのメタデータ?日記ですか?ファイルが多いですか? "du" は、"lost+found" ディレクトリまたは使用している FS に存在するディレクトリに対応する内容を無視しますか?など。 ]

関連情報