【单选题】假设一台服务器的规格是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
从内存角度算:memory_limit 480,则(480-20)/64=取整为7
7<8,那么瓶颈为内存,则需要按内存算为7
按CPU核数和内存去除,取短板那个。
并且四舍五也舍。
余留下来的给sys租户。
现实还要考虑的更多,比如全分配完了,那每个租户在这个节点上都没有上调的余地了。
指定了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个
租户可用的内存 是memory_limit-system_memory 。
memory_limit与memory_limit_percentage两个参数同时设置,memory_limit 优先,此时ob server 数据库可用内存480g, 租户可用内存=memory_limit-system_memory =480G-20G=460G
460G/64=7
cpu_count 没有说明,默认为0,检查实际可用CPU 数量,即128C ,128/16=8,
综合上面应该选C
谢谢大家
不好意思,之前回复确实有点问题,属于学艺不精,查阅资料确实memory_limit优先级高于memory_limit_percentage,有memory_limit情况下是不考虑memory_limit_percentage的。
所以直接取用480G即可,而系统内存是不包括在里面的;
既:
内存:480/64=7.5 <cpu:128/16=8,取小的为准,既为7
所以选择C;

