私はそのことを理解しようとしています。 80Gストレージのマシンを持っています。それはそのように見えます:
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 50G 7.1G 43G 15% /
devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs 3.9G 1.4M 3.9G 1% /dev/shm
tmpfs 3.9G 409M 3.5G 11% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/sda1 494M 125M 370M 26% /boot
/dev/mapper/centos-home 26G 23G 3.5G 87% /home
tmpfs 782M 0 782M 0% /run/user/0
さて、私が読んだものからtmpfsは物理的なストレージをとらず、マシンの仮想メモリを使用しています。それが正しいか?物理ストレージに何らかの影響がありますか?
Tmpfsが物理ストレージに書き込まれるという現実はありますか?次に、マウントされた(/ dev/sda1、/ dev/sda1など...)ディレクトリすべてがtmpfsを共有しますか?または、それぞれが異なるものを取得しますか?
また、tmpfsのサイズを変更しようとしました。やった :
mount -o remount,size=1G /dev/shm
再起動すると、元のサイズに戻りました。/etc/fstabを次のように変更しました。
tmpfs /dev/shm tmpfs defaults,size=1G
その後:
mount -o remount /dev/shm
それはトリックをしましたが、再起動すると、再び元のサイズに戻りました。何かが足りないと思います。
さて、私が読んだものからtmpfsは物理的なストレージをとらず、マシンの仮想メモリを使用しています。それが正しいか?
正しい、tmpfsはマウントされたファイルシステムとして表示されますが、永続的なストレージデバイスではなく揮発性メモリに保存されます。したがって、これは他の質問に答えることができます。実際には、仮想メモリにのみ依存しているため、物理ストレージをtmpfsに割り当てることはできません。 tmpfsに保存されるものはすべて、ハードドライブにファイルが作成されないという意味で一時的なものです。
メモリ不足の場合に、スワップスペースがバッキングストアとして使用されます。再起動すると、tmpfs内のすべてが失われます。多くのUnixディストリビューションは、ファイルシステムの/ tmpブランチまたは共有メモリに対して、デフォルトでtmpfsを有効にして使用します。
ディストリビューションによっては、/ tmpにtmpfsを使用できます。デフォルトでは、tmpfsパーティションの最大サイズは使用可能なRAMの半分に設定されていますが、この値を無効にすることもできます。oこの例では、最大サイズを明示的に設定して、デフォルトの/ tmpマウントをオーバーライドし、サイズマウントオプションを使用します。 :
/etc/fstab
tmpfs /tmp tmpfs nodev,nosuid,size=2G 0 0
さて、私が読んだものからtmpfsは物理的なストレージをとらず、マシンの仮想メモリを使用しています。それが正しいか?物理ストレージに何らかの影響がありますか? tmpfsが物理ストレージに書き込まれるという現実はありますか?
まあ、それはそれが制限されているスワップ領域を埋めます。参照 tmpfsはスワップするためにオーバーフローしない
次に、マウントされたすべての(/ dev/sda1、/ dev/sda1など...)ディレクトリがtmpfsを共有しますか?または、それぞれが異なるものを取得しますか?
これは、tmpfs
がマウントされている場所によって異なります。しかし、それが意図したとおりであれば、すべてのtmpfs
sは同じメモリを共有するはずです。
何かが足りないと思います。
多分 https://superuser.com/questions/45342/when-should-i-use-dev-shm-and-when-should-i-use-tmp :
最近の2.6 Linuxカーネルビルドでは、/ dev/shmをRAMディスクの形式で共有メモリとして提供し始めました。具体的には、メモリに保存され、世界で書き込み可能なディレクトリとして、制限が定義されています。
/etc/default/tmpfs
。/dev/shmサポートは、カーネル構成ファイル内では完全にオプションです。これは、FedoraとUbuntuの両方のディストリビューションにデフォルトで含まれており、Pulseaudioアプリケーションで最も広く使用されています。 [強調を削除して追加]