Centos7物理机启动的时候限核限内存

327次阅读
没有评论

需求:Centos7 限制服务器可用的的 cpu 及内存与同等配置的虚拟机做对比。

解决方法

方法 1(关闭超线程)

步骤 1:编辑 /etc/default/grub

修改 : quiet mem=66GiB maxcpus=16 possible_cpus=16
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rhgb quiet mem=66GiB maxcpus=16 possible_cpus=16 transparent_hugepage=never"

步骤 2:执行 grub2-mkconfig 命令

grub2-mkconfig -o /boot/grub2/grub.cfg

步骤 3:重启服务器

重启之后配置就会生效

需要注意的点

(1)因为不同服务器挂载的硬件不一样,比如物理机有各种接口,驱动。所以本身系统会占用一定的资源。会导致如果配置与虚拟机相同的内存。可用的内存会比虚拟机少,这个可以给物理机多配置一些。调整看。最终达到服务器本身可用内存保持一致。
(2)GRUB_CMDLINE_LINUX 中的 maxcpus 和 possible_cpus 须保持一致,否则会有内核启动错误一直占用终端,解决可看 https://blog.csdn.net/weixin_33713707/article/details/92368339;
(3)并且 maxcpus 和 possible_cpus 的设置的数量既是物理核的数量也是逻辑核的数量,即超线程将会被关闭,如果想要 cpu 既开启超线程,又使得物理核的数量减少,参考方法 2

方法 2:下线部分 cpu

可以使用如下指令:

# 单个逻辑核下线(3 号逻辑核)

echo 0 > /sys/devices/system/cpu/cpu3/online

# 单个逻辑核上线(3 号逻辑核)

echo 1 > /sys/devices/system/cpu/cpu3/online

不过这里待下线逻辑核序号的选择有讲究,如下图 node0 的 cpu 的逻辑核为 0 -7,20-27,这里已经关闭了 4 个逻辑核(8,9,28,29)(node1 cpu 所有物理核都被关闭了),最终的结果是 node0 cpu 被我们关闭了 2 个物理核,4 个逻辑核,并且剩余的物理核的超线程被保留了。

就是因为是“对称”地关闭以 "," 分割的两段序列,使得关闭的逻辑核是属于同一个物理核的,这就达到我们的目的了。

即关键是要“对称”地关闭逻辑核序号就能保留超线程


IT 内容具有时效性,未避免更新后未同步,请点击查看最新内容:Centos7 物理机启动的时候限核限内存
文章首发于:http://nebofeng.com/2020/12/24/centos7-limit-cpu-and-memory/
正文完
欢迎关注个人公众号(目前内容还比较少)
post-qrcode
 
HTML文本

本文链接:

nebofeng
版权声明:本站原创文章,由 nebofeng 2020-12-24发表,共计1015字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码