Como posso obter números de CPU do Sun Solaris por comando?

5

Eu posso usar 'prtdiag' para obter o número de CPU pelo comando 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

Mas, não sei se algum comando pode obter o número (4 neste exemplo) para permitir que meu script o use?

    
por Daniel YC Lin 13.03.2013 / 06:20

4 respostas

8

Com CPUs modernas e suas tecnologias multi-core e multithread, você precisa definir com mais precisão o que deseja contar, mas no seu caso, psrinfo se adequa melhor ao trabalho:

psrinfo -p

Observe que prtdiag não foi projetado para ser analisável e pode retornar uma saída muito diferente, dependendo do hardware.

    
por 13.03.2013 / 22:50
3

Aqui está um conjunto simples de canais usando psrinfo :

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

Exemplo de saída:

CPUs: 6

    
por 23.11.2016 / 19:07
0

Que tal

prtdiag | grep -c "^/"

Para usar o valor resultante em um script, use $(prtdiag | grep -c "^/") .

    
por 13.03.2013 / 18:38
0

Aqui está um bom script para encontrar toda a CPU, núcleos, CPU virtual (threads)

link

    
por 18.12.2013 / 14:39

Tags