Memory
如果記憶體不受限制/無限制,cgroup 的 limit_in_bytes 的值是多少?
列印無限 docker 容器的值,我得到值 9223372036854771712,即 0x7FFFFFFFFFFFF000(這與 XUbuntu 主機的值相同)。我找不到表明這是 Docker 或 Linux 預設值的參考,表明記憶體資源不受限制。
這個價值從何而來?Container Virtualizations 或 Linux Distributions/Bitnesses 之間有什麼不同嗎?
該值來自記憶體管理層中的 cgroup 設置;預設情況下,它設置為
PAGE_COUNTER_MAX
,LONG_MAX / PAGE_SIZE
在 64 位平台上,讀取時再次乘以PAGE_SIZE
。
這是最高的正符號 64 位整數 (2 63 -1),向下舍入為x86 系統上最常見的頁面大小4096 (2 12 ) 的倍數。在避免有符號和無符號之間可能的混淆的同時,似乎很難得到更高的值,因此它似乎至少是無窮大的合理近似值。
也就是說,我不確定,這只是一個猜測。