我很好奇 Go 运行时如何runtime.NumCPU()
在具有截然不同特性的各种平台(如 Linux、macOS 和 Windows)上确定(CPU 数量)?
例如在 Linux 上:我很好奇它是否使用 sysfs (/sys) 查看路径以/sys/fs/cgroup/cpu/cpu.cfs_quota_us
确定存在多少 CPU,或 procfs ( /proc/cpuinfo
)(这在容器可能有权访问的容器环境中是错误的值CPU 数量少于此文件中公开的主机 CPU 数量)。
同样在 macOS 上,这个值是如何确定的?
我知道像 JVM 这样的一些应用程序依赖于暴露在 /sys 上的 cgroups 内存信息来设置它们的内部堆大小等。
largeQ
慕森卡
相关分类