私たちはRed Hat Enterprise Linuxバージョン7を実行しており、すべてのマシンは仮想マシンです。
メモリリソースが限られており、物理RAMはコストがかかるため、メモリを追加する代わりにスワップを追加することを検討しています。
これは良い考えですか?
第二に、オペレーティングシステムはいつからスワップを使い始めましたか?
答え1
いいえ、これは悪い考えです。
スワップをメモリ拡張のメカニズムとして考えてはいけません。スワップは、メモリの一部を保存しない記憶領域です。持つ物理メモリに残り、その内容は他の場所には存在しません。バラよりLinuxで仮想マシンにスワップスペースが必要なのはなぜですか?もっと学ぶ。
仮想マシン内で実行されているプロセスにメモリが不足している場合は、名目操作と最悪のシナリオの両方で実際の作業セットが何であるかを確認する必要があります。その後、メモリ使用量を減らすことができないと仮定すると、RAM割り当て、交換、カーネル構成(交換など)に対応できるようにメモリ設定を構成する必要があります。 RAM割り当ては、各ホストが実行できる仮想マシンの数に直接影響し、ホストにメモリを追加できない場合は、実際には主な調整変数でなければなりません。 (もちろん、コスト面では役に立ちません...)VMが必要とする用途に応じて、コンテナを使用することは別の戦略かもしれません。これにより、オーバーヘッドを減らすことができます。
オペレーティングシステムは通常、メモリを割り当てる必要があり、使用可能なすべての物理メモリが使い果たされたときにスワップを使用し始めます。 )。プログラムがより多くのメモリを必要とするとき、カーネルは最初に利用可能なメモリを見つけてから、削除できるアイテム(キャッシュ、バッファ、マップされた実行可能ファイルなど)の階層リストを調べます。スワップは、「目に見える」メモリ不足がない場合にも使用できます。データは常に実際の未使用メモリに格納され、好ましくはスワップ領域に格納される。
答え2
メモリが不足してRAMをアップグレードする余裕がない場合は、サーバーからメモリを解放する方法を見つけてください。通常、実際には必要とされないプロセス/サービスがたくさんあります。たとえば、「カップ」印刷サービスはサーバーシステムには必要ありません。したがって、そのサービスをすべて識別して無効にします。
追加の「スワップ」を追加しても何の害もありませんが、RAMに代わるものではないことに注意してください。アプリケーションがスワップを使用し始めると、深刻なパフォーマンス低下が発生します。
答え3
Stephen Kittの優れた回答に追加:物理システムでスワップを使用することを計画するのはおそらく悪い考えです。仮想環境ではとても悪い考えこれは、すべてのI / Oが(一部)共通の中央記憶装置に集中しているためです。
基本的に、インフラストラクチャのパフォーマンスを向上させるには、I / Oを最小限に抑え、状況を悪化させない戦略を開発する必要があります。