2011-04-12 12 views
5

Como se ha detallado en muchos sitios útiles, una forma de analizar el uso de memoria de las aplicaciones de Android es ejecutar un "kill -10 [PID]" para activar un volcado de HPROF. Esto parece funcionar en algunos dispositivos, y la Logcat normalmente contiene algo como esto:¿Por qué no puedo obtener un volcado HPROF de ciertos dispositivos?

I/dalvikvm(32170): threadid=3: reacting to signal 10 
I/dalvikvm(32170): SIGUSR1 forcing GC and HPROF dump 
I/dalvikvm(32170): hprof: dumping VM heap to "/data/misc/heap-dump-tm1302633572-pid32170.hprof-hptemp". 
I/dalvikvm(32170): hprof: dumping heap strings to "/data/misc/heap-dump-tm1302633572- pid32170.hprof". 
I/dalvikvm(32170): hprof: heap dump completed, temp file removed 

Sin embargo, en otros dispositivos, la ejecución de los resultados de "matar" -10: en este

I/dalvikvm(5687): threadid=4: reacting to signal 10 
I/dalvikvm(5687): SIGUSR1 forcing GC (no HPROF) 

Todo el los dispositivos en los que intento esto están rooteados y me he asegurado de que chmod/data/misc sea 777. No recibo ningún mensaje de error después de ejecutar "kill -10".

En caso de que sea útil, aquí están los dispositivos en los que me pongo un vertedero HPROF: HTC ACE (Desire HD), HTC G1, HTC Nexus One (T-Mobile)

Y aquí están los dispositivos en los que no consigo un vertedero HPROF: Nexus S, Droid, Droid X, Nexus One (AT & T)

¿Por qué no puedo obtener un volcado HPROF de ciertos dispositivos y ¿hay algo que pueda hacer para permitirme para obtener los vertederos?

Respuesta

8

Use DDMS. Haga clic en el ícono de la barra de herramientas "Dump HPROF File" - se ve como una lata medio llena con una flecha que apunta hacia abajo. Funcionó como un amuleto cuando lo probé en un Nexus S.

+0

Excelente, gracias. Parece que esto también me evita tener que convertirlo con hprof-conv. –

+0

aquí está el diff que deshabilitó la función: http://android.git.kernel.org/?p=platform/dalvik.git;a=commitdiff;h=b037a464512c0721bdca969ae19cce3d4b17b083 –

+1

Para que quede claro para los lectores en el futuro, la característica @Jan Berkel se refiere a es el SIGUSR1 para forzar un volcado de HPROF que el OP solía usar. El enfoque DDMS HPROF todavía funciona AFAIK. – CommonsWare

Cuestiones relacionadas