メモリが無制限/無制限の場合、cgroupのlimit_in_bytes値は何ですか?

メモリが無制限/無制限の場合、cgroupのlimit_in_bytes値は何ですか?

無限ドッカーコンテナの値を印刷すると、9223372036854771712の値が得られます。これは0x7FFFFFFFFFFFFFF000です(この値はXUbuntuホストと同じです)。無制限のメモリリソースを表すDockerまたはLinuxのデフォルトであることを示す参照が見つかりません。

この価値はどこから来るか。コンテナ仮想化とLinuxディスク/ビットネスの間に違いはありますか?

答え1

この値は、デフォルトでメモリ管理層のcgroup設定から取得されます。設定PAGE_COUNTER_MAX今すぐLONG_MAX / PAGE_SIZE64ビットプラットフォームでPAGE_SIZE読んだときに乗算する

これは確認しますイルカチョ~の説明する:値は最大64ビット符号付き整数で、最も近いページに丸められます(最後のビットを削除)。

答え2

これは最大の正符号64ビット整数(2 63 -1)で、x86システムで最も一般的なページサイズである4096(2 12)の倍数に切り捨てられます。符号付きと符号なしの間に発生する可能性のある混乱を避けながら、より高い値を得ることは困難であるため、少なくとも無限大に合理的な近似のように見えます。

つまり、よくわかりません。ただ推測だけです。

関連情報