gpt4 book ai didi

linux - 如何知道每个 CPU 和内核的可用数量?

转载 作者:太空狗 更新时间:2023-10-29 12:28:39 25 4
gpt4 key购买 nike

我从 GoDaddy 获取了一个虚拟专用服务器并在其上安装了 GlassFish 4。我正在服务器上进行性能调优。

我遇到了以下行:

Some settings are easier to change using the GlassFish administration console rather than poking around in the configuration files themselves. One example is acceptor threads, which should be set to a number equal the number of CPU cores in your server. So, if you have 2 CPUs with 4 cores each, the value should be 8.

你能告诉我怎样才能知道我有多少个 CPU,我应该设置什么值?

最佳答案

如果您不需要以编程方式找到它,您可以这样做:

grep processor /proc/cpuinfo | wc -l

这将为您提供内核可用的内核数量,包括超线程之类的东西。要排除此类虚拟核心:

grep 'core id' /proc/cpuinfo | sort | uniq | wc -l

在程序中,您会发现标准库(如果它们完全支持线程)会提供获取硬件线程(内核)数量的方法。在 C++ 中,您将使用 std::thread::hardware_concurrency(),在 python 中有 multiprocessing.cpu_count() .

但是,根据您的提供商实现的“虚拟化”,内核可用的核心数可能会高于您的虚拟专用系统可用的核心数。你必须检查你的契约(Contract),看看他们保证有多少核心。如果他们没有就此发表任何声明,则您必须进行基准测试,尽管这可能取决于一天中的时间(以及与您共享同一硬件的其他人产生的负载)。

关于linux - 如何知道每个 CPU 和内核的可用数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33841955/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com