2012-07-06 14 views
7

in base a uno google io video su come conoscere la quantità di memoria utilizzata dall'app, è possibile utilizzare procrank e leggere il valore USS di esso.La chiamata di procrank non funziona su dispositivi reali

ho provato su emulatori (non importa quale versione io uso - da 2.3.x a 4.1) e funziona bene, ma in esecuzione su un dispositivo reale, non ha funzionato (testato su Galaxy S3 con Android 4.0.4). è come se il comando non esistesse.

come potrebbe essere? c'è un'alternativa per ottenere questo valore USS?

risposta

4

È possibile utilizzare il comando dumpsys

Passi:

  1. problema riga di comando: dumpsys meminfo packageName
  2. La colonna sporco privato si voleva.
+0

Sei sicuro? è esattamente lo stesso? Voglio dire, è davvero il valore che dice: "la quantità di byte che saranno liberati quando il processo di questa app verrà ucciso"? –

+0

quali sono le differenze tra procrank e dumpsys – Hugo

2

U può anche utilizzare

adb shell dumpsys meminfo 

o

adb shell dumpsys meminfo + pid 

comando

+0

sei sicuro? è esattamente lo stesso? Voglio dire, è davvero il valore che dice: "la quantità di byte che saranno liberati quando il processo di questa app verrà ucciso"? –

1

adb shell dumpsys meminfo [pid] (Privato sporco + privato Clean)

è stessa

procrank (USS)

+0

Puoi mostrare qualche riferimento che dice che è lo stesso? –

+0

Ho controllato l'output effettivo di entrambi i comandi per concludere. Anche alcuni riferimenti sparsi sul web [qui] (http://soumya.co.in/wp/?p=74) 'Gli Us si riferisce alle pagine private di un processo, che possono essere ulteriormente divise in modo esclusivo in PrCl (quelle pulite) e PrDi (dirty ones) 'e [here] (http://roylee17.blogspot.kr/2010/06/memory-usage-estimation-on-android.html)' I dettagli importanti sono la memoria utilizzata da USS (Privato sporco + Pulizia privata) e PSS totale – neel

+0

Un altro riferimento può essere trovato in [StackExchange-question] (https://unix.stackexchange.com/questions/33381/getting-information-about-a-process-memory- usage-from-proc-pid-smaps) 'USS non è riportato negli smaps, ma in effetti è la somma delle mappature private. Il primo collegamento – neel

-1

procrank e meminfo dumpsys non è lo stesso comando, perché procrank può mostrare più filo che viene ucciso accidentalmente.

Per prima cosa è ottenere guscio procrank, procmem, libpagemap.so da Google

Allora spingere come:

adb push procrank /system/xbin 
adb push procmem /system/xbin 
adb push libpagemap.so /system/lib 

Ultimo:

adb shell chmod 6755 /system/xbin/procrank 
adb shell chmod 6755 /system/xbin/procmem 
adb shell chmod 6755 /system/lib/libpagemap.so 
Problemi correlati