Ottieni utente processo e tempo CPU di sistema su OSX tramite riga di comando?

2

Ho familiarità con il comando pidstat che fornisce CPU utente e sistema per processo su Linux:

$ sudo pidstat -p 3162
Linux 4.18.0-13-generic (ubi)   26.12.2018  _x86_64_    (1 CPU)

11:26:13      UID       PID    %usr %system  %guest   %wait    %CPU   CPU  Command
11:26:13     1000      3162    0.24    0.04    0.00    0.12    0.28     0  emacs

Come posso ottenere lo stesso risultato su Mac OSX?

top su OSX fornisce questi valori, ma solo a livello macchina e non per processo. Per i processi, sembra dare solo la CPU totale utilizzata

Load Avg: 3.26, 3.02, 3.01  CPU usage: 3.13% user, 5.69% sys, 91.16% idle  SharedLibs: 169M resident, 44M data, 11M

PID    COMMAND      %CPU TIME     #TH   #WQ  #PORT MEM    PURG   CMPRS  PGRP  PPID  STATE    BOOSTS
97229  powerlogd    0.0  00:00.45 2     1    51    1160K  16K    1744K  97229 1     sleeping *1[1]

Per processo, mostra solo la percentuale totale della CPU e non la divisione utente e sistema. Come posso ottenere sia l'ora dell'utente che quella del sistema?

    
posta Neo 25.12.2018 - 01:36
fonte

2 risposte

1

Non sei sicuro che le informazioni che stai cercando siano accessibili così facilmente. Potresti provare ps

$ ps -p 407 -o pid,time,utime,etime,comm
  PID      TIME     UTIME     ELAPSED COMM
  407   2:08.23   1:46.36 11-17:10:27 /Applications/Aquamacs.app/Contents/MacOS/Aquamacs

e calcolare l'ora del sistema (TIME - UTIME) e le percentuali. Questo è solo il totale da quando il processo è iniziato, non un campionamento in corso.

    
risposta data 26.12.2018 - 11:40
fonte
-1

eri vicino al comando Top,

ora prova Top -A

e ti mostrerà questo per processo (PID)

oprovaquestotop-F-R-ocpu

Tuttelepossibiliopzionidicomandoinalto

Mentre Top è in esecuzione, premi o (e / o Capital O) quindi usa una delle opzioni elencate per modificare cosa e come viene visualizzato in tempo reale.

    
risposta data 25.12.2018 - 03:52
fonte

Leggi altre domande sui tag