В моем предыдущем посте мы обсудили, как найти список наиболее потребляемых процессов в Linux. Теперь мы обсудим, как найти количество ядер CPU в Linux.
Для того чтобы найти количество ядер CPU в Linux, можно воспользоваться файловой системой proc. Эта процедура представляет собой псевдо-файловую систему, которая отслеживает среду выполнения.
Для того, чтобы получить информацию центрального процессора, вам нужно просто cat “/proc/cpuinfo” в proc. Это дает детальную информацию о процессоре, таком как VENDOR_ID, семейства CPU, модель, CPU МГц и т.д., как показано ниже:
Следовательно, чтобы найти количество ядер CPU в Linux с точными деталями используйте следующую команду:
Вот в этом случае мы получили 3 процессора, число в диапазоне от 0 до 2.
Вы также можете найти количество ядер CPU в Linux с помощью команды lscpu.
В приведенном выше примере четко упоминается число процессоров 3 напротив заголовка “CPU(s)”.
Команда NPROC поможет найти количество ядер CPU в Linux напрямую, без grep или расчета, и показано ниже.
Команда dmidecode также предоставляет информацию о процессоре вместе с другой аппаратной информацией, такой как системная информация, информация о вентиляторах. Чтобы получить точно или найти количество ядер CPU в Linux с помощью команды dmidecode, вам нужно указать grep со словом CPU, как показано ниже:
Я все равно хочу как то разделить два процессора на 4 потока с оптимизацией!!!!Два физических ядра и два виртуальных!!!
Это возможно. Если 1) Вы будете использовать кооперативную многозадачность. 2) Будете выполнять независимые друг от друга операции на процессоре (которые можно выполнять за один-несколько тактов параллельно на одном ядре) при этом используя сохранение состояния контекста процессора (всех регистров) конкретного ядра для той или иной задачи в режиме кооперативной многозадачности (https://ru.wikipedia.org/wiki/%D0%9C%D0%BD%D0%BE%D0%B3%D0%BE%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%BD%D0%BE%D1%81%D1%82%D1%8C#%D0%A1%D0%BE%D0%B2%D0%BC%D0%B5%D1%81%D1%82%D0%BD%D0%B0%D1%8F_%D0%B8%D0%BB%D0%B8_%D0%BA%D0%BE%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%B8%D0%B2%D0%BD%D0%B0%D1%8F_%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%BD%D0%BE%D1%81%D1%82%D1%8C)
это не физические ядра… в /proc/cpuinfo есть отдельная строка с физическими ядрами cpu_cores