この件に関して他のスレッドはほとんどありませんが、明確な答えが見つかりませんでした。スワップパーティションを持たない仮想メモリ
Linuxでは、セカンダリI/Oデバイス(HDD、SSDなど)がなくても、ページングを実行するスワップパーティションがない場合、仮想メモリはどのように機能しますか?
私は私の例を挙げる:スワップパーティションやセカンダリストレージを持たない組み込みターゲットで(initramfsから)カスタムディストリビューションを実行しています。 top
では、実行中のプロセスが物理アドレス(RSS)よりも多くの仮想アドレス(VIRT)を消費していることがわかります。 500MBと20MB。
VIRTとRSSの違いは、割り当てられたメモリだけですが、アクセスされたことがない(したがって、OSによってはマップされない)のですか? (メモリオーバーコミットメント)
私は、仮想メモリが動作するためにページング(スワップについては話しません)が必要だと思っていましたが、私が間違っていたと思い始めています(Linuxメモリ管理については、
このような構成でPage Fault
がoom-killerを体系的に呼び出すのは意味しますか?
乾杯
これはプログラミングよりもコンピュータサイエンスの問題です。そのための別のサイトがありますが、これは[Unix and Linux](// unix.stackexchange.com)サイトのほうがよいでしょう。要するに、より多くのバーチャル> RAM +スワップを使用している場合は、オーバーコミットが原因です。あなたの場合、スワップ== 0が、不等式にプラグインするだけです。測定では、プロセスごとに共有セグメント(プログラムテキストなど)が数えられ、単純に追加されます。それも数字を押し出すだろう。 –