限制裸机服务器的 CPU 核心数

限制裸机服务器的 CPU 核心数

我试图对裸机和虚拟机管理程序中的应用程序性能进行基准测试。我有一台 24 核服务器,上面运行着 hyper-v。在同一台机器上,我安装了 centos7。我可以从 hyper-v 控制台设置虚拟机可以获得的核心数,但我如何才能对裸机情况也做同样的事情呢?

我知道在 grub 中使用 nr_cpus 或 max_cpus 参数,甚至通过 /sys/devices/system/cpu/cpu/online 热拔出核心来源但我遇到了一个小问题。Hyper-V 不允许处理器的硬亲和性,当我尝试手动关闭裸机中的某些核心时,VM 中的性能更好。我需要一种方法,其中核心数量可以固定,但允许更改这些核心的 ID。

答案1

在裸机CentOS 7机器上,可以使用nr_cpus内核启动参数。来自文档:

nr_cpus=        [SMP] Maximum number of processors that an SMP kernel
                could support.

或者,您可以使用 cgroups 或cpulimit用于限制特定用户空间程序可用 CPU 时间的工具。

相关内容