web-dev-qa-db-ja.com

VMware / ESXのLinux VMにスワップパーティションがありますか?

VMware ESXセットアップで、これらのオプションの違いは何ですか?:

  • a Linux VM with 1GB RAM and 1GB swap partition and the VM use 1.5 GB ram
  • a Linux VM with 1GB RAM and swap swap partition and no VM use 1.5 GB ram

つまり、どちらの場合もスワップが使用されています。

  • 最初のスワップでは、Linuxのスワップパーティションが行われます
  • 2番目のケースでは、VMwareは512MBをVMwareストレージプールにスワップします。

では、Linux VMにスワップパーティションを与える意味はありますか?

18
Sandra

人々がOS固有の理由を扱っているという事実を無視して、スワップパーティション/ファイルで実行しないことが悪い考えである2つの理由があります。

  1. 1.5 GBのRAMに割り当てられているVMスペースファイル/パーティションなしで、1.5 GB + 1 MBを使用したい場合、outを報告しますof memory error。スワップスペースを使用すると、アクティブメモリからディスクにデータをスワップできます。
  2. ゲストOSは、ホストよりもはるかに優れたメモリ管理を行います。これが、メモリバルーニングのようなテクノロジーが存在する理由です。ホストは現時点で必要のないメモリを知識に基づいて推測できますが、ゲストはよりインテリジェントなレベルでこれを認識します(これにより、OSメモリがスワップアウトされてパフォーマンスが低下する可能性があります)。
15

はい。これはUnixのやり方です。

Unix(Linuxでも)expectsスワップできるようにするため。
Bad Thingsシステムがスワップできない場合に発生します(スワップパーティションなしで構成が誤っていたため)または、スワップ領域がいっぱいになったため)。 Linuxでは、これらの悪いことの1つがOut of Memory Killerです。これにより、プログラムが最も使用していると思われるプログラムの後ろにナイフが突き刺さりますRAM(データベースサーバーはお気に入りのターゲットです)。

10
voretaq7

何がありますか/proc/sys/vm/overcommit_memory に設定?カーネルのドキュメントから:

0       -       Heuristic overcommit handling. Obvious overcommits of
                address space are refused. Used for a typical system. It
                ensures a seriously wild allocation fails while allowing
                overcommit to reduce swap usage.  root is allowed to
                allocate slightly more memory in this mode. This is the
                default.

1       -       Always overcommit. Appropriate for some scientific
                applications.

2       -       Don't overcommit. The total address space commit
                for the system is not permitted to exceed swap + a
                configurable percentage (default is 50) of physical RAM.
                Depending on the percentage you use, in most situations
                this means a process will not be killed while accessing
                pages but will receive errors on memory allocation as
                appropriate.

したがって、1を使用している場合、違いはありません。 2を使用していてLinuxスワップファイルがない場合、512Mの(仮想)メモリを割り当てるプロセスはありません。結果は0では明確ではありません。

編集:From http://utcc.utoronto.ca/~cks/space/blog/linux/LinuxVMOvercommit これは0の仕組みです:

ヒューリスティックオーバーコミットは、システムがすべてのメモリを再利用し、他のプロセスが現在よりも多くのメモリを使用しなかった場合にシステムがどれだけのメモリを提供できるかを計算しようとしますRAMこの場合、割り当ては拒否されます。具体的には、理論上の「空きメモリ」の数は、空きスワップスペースを合計して計算され、free RAM(rootでない場合は1/32未満)統合されたバッファキャッシュと、再利用可能としてラベル付けされたカーネルデータによって使用されるすべての領域(一部の予約ページは除く)。

したがって、計算でもスワップを使用します。一般的に、私はRHELの推奨事項に従います。

M = Amount of RAM in GB, and S = Amount of swap in GB, then
If M < 2
    S = M *2
Else
    S = M + 2
4
Mark Wagner

スワップパーティションは、特にルートディスクがほぼ満杯で、断片化なしに1つのピースでスワップファイルを作成できない場合や、ファイルシステムによって発生する可能性のあるオーバーヘッドや、該当する場合は次のような場合に、より高速になる可能性があります。 LVM。

ただし、メモリ要件の33%をディスクに保持すると、どちらのマシンのパフォーマンスもとにかく低下します。

3
Sven

次のリンクをご覧ください- https://help.ubuntu.com/community/SwapFaq

基本的に、VMに割り当てるよりも多くのメモリを使用するか休止状態にする必要がない限り、スワップパーティションに大きな利点はありません。

私のLinuxマシンでは何年もスワップパーティション/ファイルを使用していません。

0
user606723

スワップの明らかな利点は、マシンがクラッシュしてもクラッシュダンプを作成できることです。私が間違っている場合は修正してください。しかし、これはスワップなしでは不可能です。もちろん、これはVMWare固有のものではなく、どこにでも当てはまります。指摘することが大事かもしれないと思いました。

0
juwi