https://blogs.oracle.com/tpenta/entry/a_solaris_tmpfs_uses_real
タイトルで一目瞭然で明らかに思えますが、ここ2週間で2件のお客様から /tmp がSwapを使っていることを明確にしてほしいという依頼があったので、どこでメモリを使っているのか継続して調査していました。
これは /etc/vfstab に /tmp を定義する際にSwapとして利用しているデバイスを表示するからだと思います。
tmpfsとの関連で、Swapとは物理メモリ+物理スワップを意味します。tmpfsはページング可能なカーネルメモリを使用しています。つまり、カーネルメモリを使用しつつ、必要に応じてこれらのページをスワップデバイスにページングすることができます。確かに物理メモリよりも大きなサイズのデータをtmpfs上に置けば、この動作はほぼ確実に起こります。
いまいちしっくりこないなら、次の方法を試してください。
- あるターミナル/コンソールから以下のコマンドを起動します
$ vmstat 2
- 別のターミナル/コンソールで /tmp に1GBのファイルを作ります
$ mkfile 1g /tmp/testfile
- vmstatコマンドで空きメモリがどうなっているか確認して下さい。
0 件のコメント:
コメントを投稿