Linux和物理和虚拟CPU

Dpp*_*Dpp 1 unix linux

如何找出linux机器使用的cpu数量(对于应用程序和整个系统)以及它们是物理的还是虚拟的?

cdh*_*wie 5

命令

cat /proc/cpuinfo
Run Code Online (Sandbox Code Playgroud)

会告诉你内核检测到多少CPU.与"虚拟"CPU相比,我不确定"物理"是什么意思 - 除非操作系统在虚拟化/仿真环境中运行,否则列出的CPU都是物理的.

至于应用程序正在使用哪些CPU,它将默认使用任何和所有可用的CPU.即使进程中只有一个线程,当内核认为有必要时,该线程仍然可以在CPU之间切换.

您可以使用该taskset命令设置进程的CPU关联,这将限制允许运行的CPU.要获取进程的CPU关联,请运行

taskset -p $PID_OF_PROCESS
Run Code Online (Sandbox Code Playgroud)