Descobrindo o número de processos em execução e bloqueados no Mac OS X

5

No Linux, eu poderia descobrir o número de processos em execução e bloqueados em execução

grep "procs_running" /proc/stat

e

grep "procs_blocked" /proc/stat

Existe uma maneira de fazer isso no Mac OS X? De preferência, uma maneira que eu poderia usar em um script de shell?

    
por brandizzi 13.12.2010 / 14:48

3 respostas

3

Com base na resposta do Blender, para obter o número de processos em execução, o seguinte pode ser usado:

$ ps axo state | grep "R" | wc -l

Para obter o número de processos em Suspensão Ininterrupta, você pode usar ( Editar Alterado 'D' para 'U' , obrigado Gilles!):

$ ps axo state | grep "U" | wc -l
    
por 13.12.2010 / 17:09
3

Bem, o jeito humano é usar top . Aqui está alguma saída:

Processes: 62 total, 3 running, 1 stuck, 58 sleeping, 309 threads      10:33:37
Load Avg: 0.47, 0.57, 0.41  CPU usage: 41.78% user, 7.4% sys, 51.17% idle
SharedLibs: 68K resident, 0B data, 0B linkedit.
MemRegions: 20459 total, 751M resident, 0B private, 390M shared.
PhysMem: 535M wired, 1179M active, 1074M inactive, 2787M used, 1310M free.
VM: 133G vsize, 1024M framework vsize, 374887(174) pageins, 0(0) pageouts.
Networks: packets: 208538/119M in, 37975/3259K out.
Disks: 445803/4601M read, 70299/3187M written.

PID   COMMAND      %CPU TIME     #TH  #WQ  #POR #MREG RPRVT  RSHRD  RSIZE
1046  DataDetector 0.0  00:00.13 5/1  3/1  71+  351+  7548K+ 55M+   17M+
1045  top          5.8  00:00.38 1/1  0    25+  72    1468K  7480K  3312K 
1042  less         0.0  00:00.00 1    0    14   34    360K   2312K  1080K 
1040- cvmsComp_i38 0.0  00:00.03 1    0    18   51    912K   2656K  3384K 
1035  csh          0.0  00:00.02 1    0    17   39    732K   2936K  1816K 
1034  login        0.0  00:00.04 1    0    22   239   3028K  29M    6392K 
1032  Terminal     4.0  00:01.13 7    2    114+ 567+  13M+   97M+   33M+
1025  mdworker     0.0  00:00.11 3    1    48   260   5036K  54M    10M 
1021  Safari       0.0  00:09.56 9    2    132  943   34M    122M   103M 
999   mdworker     0.0  00:05.55 3    1    50   476   12M    77M    99M 
997-  thunderbird- 0.3  00:43.25 12   1    155  1546  73M    110M   147M 
981   Preview      0.0  00:01.84 2    1    103  686   21M    111M   45M 
935-  firefox-bin  4.0  01:43.97 25   1    238  1637  81M    138M   205M 
905-  kass         0.0  00:00.06 2    1    57   394   3760K  53M    9028K 

Não é muito amigável ao script. Aqui está ps aux :

USER       PID  %CPU %MEM      VSZ    RSS   TT  STAT STARTED      TIME COMMAND
nope       935   5.3  5.1  1387680 212912   ??  Ss   10:14AM   1:58.11 /Applica
root        56   1.5  2.0   729352  85588   ??  Ss    4:29AM  14:39.52 /Library
nope      1032   1.2  0.8  2892072  34060   ??  R    10:32AM   0:01.80 /Applica
root        59   0.1  0.5   668812  19976   ??  Ss    4:29AM   2:19.72 /Library
_spotlight  1025 0.0  0.3  2533548  10708   ??  SNs  10:29AM   0:00.12 /System/
nope      1021   0.0  2.5  5133320 105128   ??  S    10:26AM   0:09.57 /Applica
nope       999   0.0  2.4  2666868 101324   ??  SNs  10:24AM   0:05.57 /System/
nope       997   0.0  3.6  1211652 150380   ??  Ss   10:24AM   0:43.56 /Users/n
nope       981   0.0  1.1  2919128  46448   ??  S    10:23AM   0:01.86 /Applica
root       905   0.0  0.2   954736   9028   ??  S    10:12AM   0:00.07 /Library
nope       901   0.0  0.5  1027840  19980   ??  S    10:12AM   0:00.26 /Library
nope       900   0.0  0.3  2814856  13464   ??  S    10:12AM   0:00.06 /System/
nope       879   0.0  0.2   957704  10384   ??  S    10:12AM   0:00.39 /Library

Tente brincar com eles. Não tenho certeza do que são os processos bloqueados, mas esses comandos devem ajudar.

Boa sorte!

    
por 13.12.2010 / 16:38
0

htop é bom para isso.
Ele mostra uma visualização em árvore, além de classificar por CPU ou qualquer outra coisa.

brew install htop
    
por 15.01.2014 / 23:08

Tags