5

Я могу использовать prtdiag, чтобы узнать количество процессоров с помощью команды prtdiag.

$ prtdiag
System Configuration:  Sun Microsystems  sun4u Sun Fire 6800
System clock frequency: 150 MHz
Memory size: 4096 Megabytes

========================= CPUs 
===============================================

             CPU      Run    E$   CPU      CPU
FRU Name    ID       MHz    MB   Impl.    Mask
----------  -------  ----  ----  -------  ----
/N0/SB1/P2    6      1200   8.0  US-III+  11.0
/N0/SB1/P3    7      1200   8.0  US-III+  11.0
/N0/SB3/P2   14      1200   8.0  US-III+  11.0
/N0/SB3/P3   15      1200   8.0  US-III+  11.0

Но я не знаю, может ли какая-нибудь команда получить число (4 в этом примере), чтобы позволить моему сценарию использовать его?

4 ответа4

8

С современными процессорами и их многоядерными, многопоточными технологиями вам нужно более точно определить, что вы хотите считать, но в вашем случае psrinfo лучше подходит для работы:

psrinfo -p

Обратите внимание, что prtdiag не предназначен для разбора и может выдавать очень разные выходные данные в зависимости от аппаратного обеспечения.

3

Вот простой набор каналов с использованием psrinfo:

psrinfo -v | grep ^Status | tail -1 | awk '{x = $5 + 1; print "CPUs: " x;}'

Пример вывода:

Процессоры: 6

0

Как насчет

prtdiag | grep -c "^/"

Чтобы использовать полученное значение в скрипте, используйте $(prtdiag | grep -c "^/") .

0

Вот хороший скрипт для поиска всех процессоров, ядер, виртуальных процессоров (потоков)

https://blogs.oracle.com/mandalika/entry/solaris_show_me_the_cpu

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .