ファイルの作成/削除時に "tmpfs"がディスクを読み書きするのはなぜですか?

ファイルの作成/削除時に "tmpfs"がディスクを読み書きするのはなぜですか?

Q:ファイルを作成または削除するとディスクの読み取りと書き込みが同時に発生するのはなぜですかtmpfs

inを使用してインストールしますtmpfs(インストールするには、コンピュータに追加して実行してからコンピュータを再起動してください)。私が知る限り、ファイルの内容はRAMに保存され、ファイルinode /メタデータもRAMに保存されます。mount -t tmpfs -o size=1G tmpfs "/SCRATCHSPACE"/etc/rc.local/etc/rc.localmkdir /SCRATCHSPACEtmpfs

ファイルを作成、書き込み、削除するためのBashスクリプト:

cd /SCRATCHSPACE
for i in {0..10000}; do echo foobar > $i; rm $i; done

または

cd /SCRATCHSPACE
touch {0..10000} && rm {0..10000}

上記のコードを実行すると、ハードドライブ使用量インジケータがすぐに起動します。想像だけではないことを確認するために、以下も使用します。

grep -e Dirty: -e Writeback: /proc/meminfo

ファイルの作成/削除に関連しています。ダーティと書き込みの保存は継続的にからに移動します0 KB500 KBBashスクリプトで生成されるファイル数を増やすと、Dirtyファイル数が直線的に増加します。 (不要な)書き込みをフラッシュするには、syncBashスクリプトを実行してから待つと(せずにsync)ハードドライブが動く音が聞こえます。

これは、スワップをオフにした状態でUbuntu 16.04とUbuntu 20.04の両方で再現可能です。

追加情報:

$ df -h /SCRATCHSPACE
Filesystem      Size  Used Avail Use% Mounted on
tmpfs           1.0G  10M  1.0G  0% /SCRATCHSPACE

$ cat /proc/swaps
Filename                Type        Size    Used    Priority

$ cat /etc/fstab
UUID=<36 characters for UUID> /               ext4    errors=remount-ro 0       1
UUID=<10 characters for UUID>  /boot/efi       vfat    umask=0077      0       1

ウイルス対策、ロガー、または同様のものはインストールされていません(Ubuntuに付属しているものは何でもインストールするだけです)。

オペレーティングシステム(16.04および20.04)は、ライブUSB(新規インストール)を介してインストールされます。あるバージョンから別のバージョンにアップグレードされません。

関連情報