RAMはできませんが、具体的にスワップできるのは何ですか?

RAMはできませんが、具体的にスワップできるのは何ですか?

スワップパーティションがなければできないスワップパーティションがある場合、Linuxは何ができますか?

この質問では、32 GBのRAMがあり、スワップ領域がないLinux PCと、16 GB RAMと16 GBのスワップ領域を持つほぼ同じLinux PCとの違いに焦点を当てたいと思います。ちなみに私はこのようなことに興味はありません「はい、しかし32 GBのPCにスワップを追加すると、Xの改善が見られるかもしれません。」。これはこの質問から抜け出したものです。


RAMを追加するよりも、スワップを追加する方が良いという考えに初めて触れました。以前の質問に対するご意見から

私は確かにこれを読みました:RAMが十分な場合は、スワップスペースが必要ですか?そして…

  • 答えは主にスワップの追加に焦点を当てており、例えばディスクキャッシュについて説明します。 RAMを追加すると、ディスクキャッシュも拡張されます。
  • 誰かが最適化はスワップを介してのみ可能であると述べましたが、それを裏付ける証拠が見つかりませんでした。
  • MAP_NORESERVEへの参照がありますが、mmapこれは次のような非常に具体的であいまいなリスクのようです。OOM状況に応じてプライベートマッピング。

スワッピングは、しばしばメモリを拡張したりパフォーマンスを向上させる安価な方法と考えられています。しかし、組み込みLinuxデバイスを大量生産すると、状況が変わります。

...この場合、スワップによってフラッシュメモリが消耗し、保証が終了する数年前にフラッシュメモリが故障する可能性があります。 RAM を 2 倍に増やすと、デバイスのコストがさらに数ドル追加されます。

これはeMMCフラッシュメモリです。SSDではありません!。一般に、eMMCフラッシュメモリにはウェアレベリング技術がないため、SSDよりはるかに速く磨耗します。


この問題について熱い議論がたくさんあるようです。。私は「しなければならない/しないでください」という意見ではなく、能力に関する無味乾燥した事実を探しています。

RAMを追加すると、できないことをスワップできますか?

ベストアンサー1

休止状態(またはディスクの一時停止)。真の休止状態では、システムの電源が完全にオフになり、RAMの内容が失われるため、その状態を一部の永続ストレージに保存する必要があります。交換とも呼ばれます。スワップ領域と休止状態を使用するhiberfil.sysWindowsとは異なり、pagefile.sysLinuxはオーバーコミットされたメモリと休止状態にスワップ領域を使用します。

一方、HibernateはLinuxでうまく機能するのに少し面倒です。実際、休止状態を「できるかどうか」は別の問題です。

おすすめ記事