/dev/shmを使用するよりも/tmp/を使用する方が広く使用され推奨されているのはなぜですか?

/dev/shmを使用するよりも/tmp/を使用する方が広く使用され推奨されているのはなぜですか?

私の経験によると、ほとんどの人は一時ファイルやディスクの書き込みを保存するために/tmp/を使用しますが、/dev/shmを代わりに使用することをお勧めしたり、使用している人は頻繁には見えません。

なぜそんなことですか?

ベストアンサー1

/dev/shmファイルシステムの共有メモリセグメントで使用するためのものです。共有メモリには、SysV共有メモリとPOSIX共有メモリの2種類があります。 POSIX共有メモリは通常、tmpfs shm_openファイルシステムにある名前付きセグメントを作成して使用されます。通常インストールされます。/dev/shm/dev/shmnosuidnoexec

/tmp一時ファイルと一緒に使用するためのものです。一部のシステムではtmpfsですが、多くのシステムではディスクのバックアップです。多くのシステムでは/tmpタグが付けられていないため、プログラムを実行できますnoexec。システム管理者は、特定のシステムの要件に合わせてサイズを適切に(より大きくまたは小さく)調整できます。

/var/tmpと似ています/tmpが、後者は通常起動時に消去されますが、前者はそうではありません。ほとんどの場合、後者を使用する必要がありますが、一時ファイルを長期間保存する必要がある場合に/var/tmp使用できます。

したがって、実際に一時ファイルを使用できない明確な理由はありませんが、/dev/shm一般的なユースケースや意図された目的ではないため、予想できません。メンテナンスが容易で、さまざまなシステムで最適に動作するコードを書くことが目標である場合は、そうしない強力な理由がない限り、規則に従うことが最善です。

おすすめ記事