Команда
cat /proc/cpuinfo
Сообщит вам, сколько процессоров было обнаружено ядром.Я не уверен, что именно вы подразумеваете под «физическими» по сравнению с «виртуальными» процессорами - если только ОС не запущена в виртуализированной / эмулированной среде, все перечисленные здесь процессоры будут физическими.
Что касаетсякакие процессоры использует приложение, по умолчанию оно будет использовать все доступные процессоры.Даже если в процессе есть только один поток, этот поток может переключаться между процессорами, когда ядро сочтет это необходимым.
Вы можете использовать команду taskset
, чтобы установить привязку к процессору для ЦП, что приведет кограничить, на каких процессорах разрешено работать.Чтобы получить привязку процессора к процессу, запустите
taskset -p $PID_OF_PROCESS