だから私は初めてメモリコストの高いアプリケーションに触れ、スワッピングがどのように機能するのかわかりません。
10GiBのRAM(VM)と500GB / 1TBの空きハードドライブ容量しかありません。
Javaアプリケーションを実行するには約150/200GiBのメモリが必要ですが、これを64GiBに減らすことができました。すべてが同時にロードされるわけではありませんが、Javaはまだヒープスペースを割り当てる必要があります。
どのくらいのスワップスペースを割り当てる必要がありますか?どのように動作しますか?オペレーティングシステムはどのように反応しますか? (メモリがいっぱいになったりメモリ使用量を減らしたりするときに使用されることはわかっていますが、残念ながらもはや有用な情報が見つかりませんでした)
答え1
使用可能な物理RAMとスワップスペースの合計は、カーネルと実行中のすべてのプロセスによって割り当てられたRAMの合計量よりも大きくなければなりません。もちろん、あまりにも多くのスワップスペースを使用すると、システムの速度が非常に遅くなる可能性があります。
したがって、アプリケーションにのみ多くのメモリが必要な場合は、少なくとも65GiB、つまり55GiBのスワップスペースが必要です。
メモリ管理の面では、Linuxとアプリケーションのどちらがより効率的であるかを言うのは難しいです。だから私はスワップのために210GiBを割り当てて(これがどれほど狂った音なのかを理解しました...)、アプリケーションのパフォーマンスをさまざまなアプリケーションメモリ設定と比較することを提案しました。
たとえば、LVMとスワップに使用できる複数のLVがある場合は、実行中のシステムでスワップスペースの量を変更できます。望むよりman swapon
。