我有一台 16 核的服务器。我应该将 CpuAffinityMask 设置为多少?
1111 1111 1111 1111 是 65535,我应该放 65535 吗?
另外,如何配置 SuperClassic 服务器?
这是适用于 Firebird 2.5 的。
短暂性脑缺血发作
答案1
来自文档:
Windows Superserver 默认只使用第一个逻辑处理器,因为在 2.5 之前的版本中它在 SMP 系统上表现不佳。要使用所有处理器,请将 firebird.conf 中的 CpuAffinityMask 参数设置为:3 表示 2 个 CPU/核心;15 表示 4 个 CPU/核心;255 表示 8 个 CPU/核心。
因此,是的, 65535 = 2 16 -1 是使用所有 16 个核心的正确设置。
答案2
据我所知,只有 SuperServer 遵循 CpuAffinityMask,请参阅Firebird 架构,因此对于 SuperClassic,此配置值将被忽略,并且它将始终能够使用所有可用的 CPU
答案3
将 CpuAffinityMask 设置为 65535 仅在您运行 SuperServer(不是经典或超经典)
并且同时与 16 个或更多数据库通信(每个数据库 1 个核心)时才有用
如果您只运行 1 个 FB 数据库,那么设置此选项仅在您想将特定核心专用于 Firebird 而不是使用默认的第一个核心时才有用。
如果您想让 Firebird 使用所有核心,请考虑以经典/超经典模式安装 Firebird。
答案4
在 Firebird 5.0 中,似乎在这种情况下不再需要设置 CpuAffinityMask。默认使用所有逻辑处理器。