2012-04-07 3 views
17

Ho trovato che il risultato di 'top' è diverso dal risultato di in linux standard. Ho cercato un po 'sul web ma non riesco a trovare la risposta. Per esempio, segue è il risultato parziale della parte superiore della mia Android:Qualcuno conosce il significato del risultato del comando 'top' in Android?

PID CPU% S #THR  VSS  RSS PCY UID  Name 
    814 2% R  1 940K 372K fg root  top 
    110 1% S 58 185000K 59216K fg system system_server 
    31 0% S  1  0K  0K fg root  vsync_workqueue 
    49 0% S  1  0K  0K fg root  file-storage 
    52 0% S  1  0K  0K fg root  gp2a_wq 
    178 0% S  9 98476K 23820K fg system com.android.systemui 

Quindi #THR probabilmente è il numero di threads.But ciò che è 'PCY'? Non riesco a trovare queste informazioni nella cartella/proc/(PID) /. E ho scoperto che se apro un youtube, il PCY sarà fg. Quindi se lo interrompo (youtube), il processo di youtube esiste ancora ma il PCY sarà bg. E in termini di "S", ho trovato che tutti i processi sono sempre "S" che significa dormire, anche la mia app per youtube è attualmente attiva. E 'weired ...

Qualcuno ha qualche indizio:> Thx

+1

fg e bg sicuramente significa primo piano e sfondo. –

+0

OH, penso che fg e bg probabilmente significhino 'primo piano' e 'sfondo':> –

+0

@Ken White OK.Vedo. Ma ho bisogno di sapere queste informazioni perché ho bisogno di usarle nella mia programmazione. Penso di non poter ottenere tali informazioni usando solo l'API fornita da Android: < –

risposta

23

ecco la mia (dis) ipotesi plausibili:

PID - Process ID

CPU% - CPU Usage

S - Stato (o, eventualmente, di stato) R = podistica, S = Dormire

#THR - Numero di thread

PCY - Sono un po 'stanco qui. Lei sembra avere una buona comprensione di ciò che fa, così che è abbastanza buono (supponendo che fg e bg sono gli unici valori possibili)

UID - Nome dell'utente che ha avviato il compito

Nome - Questo uno è auto-esplicativo ...

VSS e RSS: Da http://groups.google.com/group/android-beginners/browse_thread/thread/e6f2d396a68238ad?pli=1

virtuale Dimensione set (a volte abbreviato VSZ) e Resident Set Size. Googling mostrerà alcune informazioni dettagliate per Linux. Ecco la versione ad alta velocità :

VSS indica la quantità di memoria virtuale è associato con il processo, Resident Set Size indica quante pagine fisiche sono associati con il processo.

VSS è generalmente privo di significato su Android. Se eseguo il mapping della memoria su un file da 1 MB, il VB cresce di 1 MB, ma non ho utilizzato alcuna risorsa (diversa dalle voci in una tabella di mapping virtuale).

L'RSS è parzialmente privo di significato su Android, perché non identifica le pagine condivise tra più processi. Se il processo A ha un RSS di 2 MB e il processo B ha un RSS di 2 MB, è possibile che ci siano 4 MB di pagine fisiche occupate. È anche possibile che ci siano solo 2 MB di pagine fisiche occupate.

MODIFICA: Per quanto riguarda Youtube, se non sta facendo nulla attivamente, dormirà, anche se è in primo piano. Prova a creare una semplice app che è fondamentalmente mentre (1) {Fai qualcosa senza senso} e vedi se sta dormendo o è in esecuzione. Concesso potrebbe anche essere una stranezza con il modo in cui Android gestisce il multitasking.

EDIT2:
Per lo più-ignoranti-po-random-stab-in-the-dark per PCY -
PCY - Politica - Determina come un app dovrebbe essere trattato dal gestore della memoria di Android
FG - - primo piano - processo è considerato un processo in primo piano e non dovrebbe essere ucciso per mmemory libera
BG - Background - processo è considerato un processo in background (in esecuzione non attivamente in primo piano e può essere ucciso per liberare la memoria)

+0

Oh, thx, man.Le tue informazioni sono molto utili –

-1

Prova man top su qualsiasi normale Linux/Unix (anche se non credo che Android ha l'uomo installato di default).

Attualmente sembra che quei titoli di colonna non siano menzionati su quella pagina man, ma il punto indica che man è in genere il punto migliore in cui iniziare a cercare informazioni sui comandi di linux/unix.

+0

Ma non penso di poterlo fare in Android usando adb.It mostra che il comando non è stato trovato. –

+0

@HaoShen abbastanza giusto, ma anche se non stai già utilizzando Linux/Unix potresti trovare utile avere una macchina Linux a disposizione (magari una Ubuntu installata su una VM VirtualBox) per aiutarti a capire come funziona Linux su Android. –

+0

@questoèSì.Tuttavia.Perché penso di avere la mia risposta.Pcy significa sfondo o in primo piano:> –

-1

questo page dice ciò che VSS e RSS significano, ma non specifica come ottenere il PSS più significativo e USS