【单选题】假设一台服务器的规格是128C 512G,在这台服务器上部署ObServer,配置项:
memory_limit =480
memory_limit_percentage =80
system_memory=20
仅有一种租户Unit规格为16c64G,这台ObServer上最多可部署多少个Unit?
A.5
B.6
C.7
D.8
480 / 64 =7.5 ,7台
从cpu角度算:128/16=8
从内存角度算:512-20=492足够memory_limit 480,则480/64=7.5取整为7
7<8,那么瓶颈为内存,则需要按内存算为7
按CPU核数和内存去除,取短板那个。
并且四舍五也舍。
余留下来的给sys租户。
现实还要考虑的更多,比如全分配完了,那每个租户在这个节点上都没有上调的余地了。
1.memory_limit = 480:表示该ObServer实例的内存限制为480GB。
2.memory_limit_percentage = 80:表示该ObServer实例的内存使用率上限为80%。
3.system_memory = 20:表示系统预留内存为20GB。
解题步骤
计算可用内存:
服务器总内存:512GB。
系统预留内存:20GB。
因此,可用内存为 512GB - 20GB = 492GB。
应用内存限制:
memory_limit = 480:表示ObServer实例的内存限制为480GB。
memory_limit_percentage = 80:表示ObServer实例的内存使用率上限为80%。
因此,实际可用内存为 min(480GB, 492GB * 80%) = min(480GB, 393.6GB) = 393.6GB。
计算可部署的Unit数量:
每个Unit占用64GB内存。 因此,可部署的Unit数量为 floor(393.6GB / 64GB) = floor(6.15) = 6。 4. 验证CPU限制:
服务器总CPU核数:128核。 每个Unit占用16核CPU。 因此,可部署的Unit数量为 floor(128 / 16) = 8。 由于内存限制(6个Unit)小于CPU限制(8个Unit),因此最终以内存限制为准。
最终答案: B.6
指定了limit,percent就不生效了,怎么还有min这个计算呢
- memory_limit =480
- memory_limit_percentage =80
- system_memory=20
- memory_limit 优先级高于memory_limit_percentage,实际内存配置为480G
- system_memory不包括在memory_limit中,不占用480G大小
按16c64G作为unit
- 内存:480/64 = 7.5
- CPU: 128/16 = 8
结果:取整最多7个
