|
ROMs y desarrollo HTC Hero ROMs y desarrollo HTC Hero |
Ver resultado de la encuesta: ¿Este tutorial es un tocho infumable? | |||
Algo se comenta... | 33 | 39.29% | |
Llegue hasta la mitad pero vi un banner de chinas con las tetas gordas, que donde va a parar!. | 51 | 60.71% | |
Votantes: 84. Tú no puedes votar en esta encuesta |
|
Herramientas |
#1
|
||||
|
||||
Cómo configurar el "taskiller" interno de Android
¿Taskiller interno?
Android gestiona los procesos de una manera particular que ya quisieran los del iphone ese.... En lugar de matar los procesos después de usarlos, los mantiene hasta que el sistema necesita más memoria. Estos procesos generalmente no tienen por que perjudicar el rendimiento global del sistema y proporcionan mas velocidad de respuesta si se inician de nuevo. Al menos esa es la idea. Esta gestión de los procesos es mucho mas avanzada que la que hace cualquier taskiller externo, ya que valora el uso reciente que le demos al proceso, y determina si sera el primero en eliminar o debe ser otro menos prioritario el que elimine para recuperar memoria. ActivitymanagerServices.java monitoriza los procesos y establece "la importancia" que tendrán los programas para determinar cuales serán los primeros en eliminar si necesita memoria, dándole una serie de valores (de -17 a +15) y dentro de los seis estados posibles para un proceso (primer plano, visible, segundo plano, oculto, proveedor de contenidos y vacío). Este trabajo lo hace de una forma autonoma, por lo que poco podemos hacer en este procedimiento. Pero hay un módulo incluido en kernel llamado lowmemorykiller.c , que establece los límites de memoria para cada estado, y este si es facilmente configurable No se qué me estás contando, pero, ¿que y cómo lo configuro? El archivo de configuración lo encontraremos en /sys/module/lowmemorykiller/parameters/minfree . El formato será de seis valores consecutivos equivalentes a los seis estados posibles en su orden correcto, y para cada uno se establece el límite de memoria: Estos son los estados en su orden correcto: Foreground | Visible | Secondary Server | Hidden | Content provider |Empty| FOREGROUND / / Este es en proceso que se ejecuta en primer plano. No se recomienda matarlo. VISIBLE_APP: / / Este es un proceso que contiene actividades que son visibles para el usuario pero por ejemplo no están del todo en primer plano. No se recomienda matarlo. SECONDARY_SERVER: / / Estos son servicios secundarios, incluido el propio Sense. No es recomendable matarlo salvo necesidades extremas. HIDDEN_APP: / / Este es un proceso que solo contiene actividades que definitivamente dejan de ser visibles. Por ejemplo cuando pulsamos HOME para salir de la aplicación.. CONTENT_PROVIDER: / / Este es un proceso que provee contenidos y no tiene ningún tipo de cliente asociado a el. Es uno de los candidatos a ser eliminado. EMPTY_APP: / / Este es un proceso que no está ejecutando actualmente nada y está finalizado. Definitivamente estos serán los primeros en morir. Por ejemplo, una posible configuración del archivo minfree: 1536 2048 4096 5120 15360 23040 ¿Qué son estos valores? Son los límites para cada estado y se calcula: MB * 1024 / 4 Así vemos que en el ejemplo anterior, los valores que establecemos serían el equivalente en MB a: 1536 2048 4096 5120 15360 23040--->> 6 8 16 20 60 90 Por ejemplo, con los valores del ejemplo le estamos diciendo que si la memoria es menor de 90MB (23040) elimine automáticamente todos los procesos "empty", si tenemos menos de 20MB (5120) debe eliminar los ocultos y por extension los "content_provider" y "empty" (estos dos últimos son los menos relevantes y podemos eliminarlos casi inmediatamente sin problemas estableciendo valores altos en los limites) ¿Queremos establecer que borre los "empty" si la memoria esta en 60 MB o menos? Calculamos: (60*1024)/4=15360 Ponemos el valor en su estado correspondiente: 1536 2048 4096 5120 15360 15360 Estableciendo el cambio Cuando tengamos definidos los límites, hacemos los cambios desde cualquier terminal con permisos ROOT: Cita:
echo "1536,2048,4096,5120,15360,23040" > /sys/module/lowmemorykiller/parameters/minfree
El script /init.rc establece al inicio los valores a cada estado (entre otras muchas cosas). Si lo editamos, tan solo seria cambiar los valores en esta linea: write /sys/module/lowmemorykiller/parameters/minfree 1536,2048,4096,5120,5632,6144 Pero para hacer nuestras pruebas y buscar los mejores valores, se propone incluirlo en el script de compcache ramzswap.sh que esta mas controlado y es menos sensible /system/init.d/ramzswap.sh , dejándole de esta manera: Ejemplo: # /system/xbin/insmod /system/lib/modules/tun.ko # /system/xbin/insmod /system/lib/modules/lzo_decompress.ko # /system/xbin/insmod /system/lib/modules/lzo_compress.ko # /system/xbin/insmod /system/lib/modules/xvmalloc.ko # /system/xbin/insmod /system/lib/modules/ramzswap.ko disksize_kb=131072 # /system/xbin/swapon /dev/block/ramzswap0 # echo "10" > /proc/sys/vm/swappiness echo "performance" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor echo "1536,2048,4096,5120,15360,23040" > /sys/module/lowmemorykiller/parameters/minfree Script compcache en 3.2: Los scripts han cambiado de nombre a partir de la versión 3.2, ramzswap.sh se llama compcache.sh
#/system/xbin/insmod /system/lib/modules/lzo_decompress.ko #/system/xbin/insmod /system/lib/modules/lzo_compress.ko
_______________________ ¿pero has desactivado ramzswap, no? Si. El autor del post también lo está probando de esta manera y la verdad es que va todo muy fluido. Al final, en la práctica, no suelo tener demasiados programas en espera y termino matando algunos a sangre fría, por lo que por ahora no me beneficio demasiado de compcache (aunque tiene su utilidad), así que desactivandolo solo trabajamos con memoria sin comprimir (reducimos algo el estrés del procesador comprimiendo/descomprimiendo memoria) y aun así mantenemos un buen numero de procesos en segundo plano, así que bastante contento con este tweak. Habra que probar como se comporta el sistema con compcache activado también Propuestas de configuracion: Esta es la que viene de serie en las roms de modaco 1536,2048,4096,5120,5632,6144 El autor del hilo está probando con una configuración bastante radical, pensado para tener continuamente bastante memoria disponible matando rápidamente los procesos ocultos, vacíos,.. (un limite de 80M -21000-) 1536,3072,4096,21000,23000,25000 Yo estoy probando con la misma configuración que pongo en el ejemplo y que adjunto en ramzswap.sh, es mas conservadora que la anterior pero mas "liberadora de memoria" que los parámetros establecidos de serie, y me permite mantener algunas aplicaciones ocultas hasta alcanzar el limite de 20MB (5120): 1536,2048,4096,5120,15360,23040 Adjunto mi ramzswap.sh para mocado 3.1 por si queréis utilizarlo como muestra con esta configuración.
El proceso es totalmente seguro y reversible Para volver al original, editar ramzswap.sh, quitar las almohadillas del comienzo de cada linea y borrar completamente la ultima linea (ambos en negrita en el ejemplo). ***Un usuario de XDA ha publicado una aplicación en el market para establecer los valores más fácilmente llamada automemorymanager , con esta aplicación se pueden ajustar los valores gráficamente y son permanente en cada sesión sin tener que modificar ningún archivo. También tiene una opción "Running processes" donde puedes ver qué aplicaciones están en memoria en cada una de las categorías. Es compatible con todas las ROMs (1.5, 2.1, R2D2,..) Conclusion A falta de probar mas tiempo (llevo 4 horas aprox.) creo que podemos estar ante una alternativa seria a compcache a la hora de gestionar los recursos del sistema, pero en vez de proporcionar mas espacio para almacenar a mansalva, este método elimina rápidamente los procesos que no tienen ningún tipo de actividad y que simplemente están ahí ocupando espacio. Y por otra parte nos libera de los taskiller externos y especialmente a los que utilicen los autokillers. Por cierto, si queréis un task manager que muestre información de en que estado se encuentran los procesos cargados en memoria (foreground, hidden, empty...). os recomiendo "Estrong Task Manager". Fuente: http://forum.xda-developers.com/show...82#post5444182
__________________
________ ★[CWMODIN] Flashea y personaliza ODIN stock roms desde el recovery http://ow.ly/kbEwt★[Universal Flasher Tool] Flashea temas metamorph y archivos desde el recovery con autobackup http://goo.gl/Gxucm Última edición por intronauta Día 14/03/10 a las 12:33:47. |
Los siguientes 30 usuarios han agradecido a intronauta su comentario: | ||
|
#2
|
||||
|
||||
Muy interesante gracias, has notado mejoria de rendimiento?? Por ejemplo cuando salimos de internet o de una llamada ese momento que se queda ahi medio colgado, ¿lo mejora algo?
|
#3
|
||||
|
||||
Pues si, y creo que sobre todo por quitar compcache.
Lo que tu comentas de la llamada yo creo que eso viene de serie y no hay remedio . Desactivando compcache ganas un retardo producido por descomprimir/comprimir la cache y al configurar el lowmemorykiller obligas al sistema a no dejar que se acumulen tantos procesos inactivos y tener mas memoria disponible para las demas (pierde sentido tener compcache?). Tengo la sensación de que Android es muy generoso con los procesos con los parametros de serie. Pero vamos, si tienes ciento y la madre corriendo y te llaman, pues como que se ralentizara. El salir de internet pues depende del explorador, de si coincide que tambien esta actualizando alguna historia, correo, facebook, los astros... depende. Os animo a probar a desactivar compcache y ha configurar lowmemorykiller Solo con restaurar el script y reiniciar lo dejas como antes. EDITO: Acabo de leer en otro hilo que Teknologist abiertamente dice que desactivemos compcache por las ralentizaciones de marras.
__________________
________ ★[CWMODIN] Flashea y personaliza ODIN stock roms desde el recovery http://ow.ly/kbEwt★[Universal Flasher Tool] Flashea temas metamorph y archivos desde el recovery con autobackup http://goo.gl/Gxucm Última edición por intronauta Día 25/01/10 a las 00:56:34. Razón: bombazo informativo! |
#4
|
||||
|
||||
Pues mañana a ver si me pongo a probar, prefiero que funcionen unos pocos procesos a la perfeccion que tener mil cosas ahi en segundo plano para nada.
|
#5
|
||||
|
||||
Después de hacer mas pruebas, abriendo y cerrando aplicaciones, dejándolo en sleep y despertanlo a ver como reacciona, va de P.M.
Responde todo genial sin compcache y me mantiene siempre con unos 25-30MB libres aprox. y ni rastro de morralla en los procesos, por supuesto sin necesidad de matar manualmente ningun proceso.
__________________
________ ★[CWMODIN] Flashea y personaliza ODIN stock roms desde el recovery http://ow.ly/kbEwt★[Universal Flasher Tool] Flashea temas metamorph y archivos desde el recovery con autobackup http://goo.gl/Gxucm Última edición por intronauta Día 25/01/10 a las 01:38:21. |
#6
|
||||
|
||||
Un tutorial muy currado, y con mucha lógica...
Creo que le echare un vistazo ;) |
#7
|
||||
|
||||
Re: Como configurar el "taskiller" interno de Android
no te ha cerrado ningún proceso vital o te ha dejado de hacer nada por que mate automáticamente algún proceso? me refiero a cosas de actualización o la aplicación de alarmas por ejemplo
|
#8
|
||||
|
||||
Probando tu configuración en mi HERO con MCR 3.2 Beta 2. Ya comentaré impresiones. Me imagino que el no usar compcaché ganará algo de batería no ?
Gracias por el curre y saludos.
__________________
|
#10
|
||||
|
||||
Mil gracias por la información. Esta todo muy clarito
¡¡A probarla!! |
#11
|
||||
|
||||
brutal, si señor:apla usos:
esta misma tarde (o como mucho tardar mañana por la mañana) lo pruebo |
#12
|
||||
|
||||
Un gran tuto intro
A esto le llamo yo gestión de recursos sin salir de casa...teníamos una buena herramienta para optimizar nuestros cacharros un tanto desaprovechada |
#13
|
||||
|
||||
Muy bueno el tutorial. Intentaré probarlo.
Aunque tengo alguna duda debido a mi "déficit en conocimientos". Poco a poco lo voy superando pero aún está ahí. Supongo que estos comandos:
Este archivo se colocará en /system/init.d no?. No debiera tener ya ese archivo en esa ubicación? Porque ahora no lo tengo. Cómo se desactiva compcache? Tengo la ROM Modaco 3.2 beta 5 Gracias. Última edición por jocaferlo Día 25/01/10 a las 10:35:33. |
#15
|
||||
|
||||
Muy bueno el tutorial. Intentaré probarlo.
Aunque tengo alguna duda debido a mi "déficit en conocimientos". Poco a poco lo voy superando pero aún está ahí. Supongo que estos comandos:
Este archivo se colocará en /system/init.d no?. No debiera tener ya ese archivo en esa ubicación? Porque ahora no lo tengo. Cómo se desactiva compcache? Tengo la ROM Modaco 3.2 beta 5 Gracias. Utiliza otro script: cambia /system/init.d/rasmzswap.sh por /data/init.sh
Por desgracia duermo unas 6 horas. Con los mismos procesos abiertos, con la misma frecuencia de sincronización (poquísimos o ningún tweet nocturno y ningún mail) y con 3G bien de covertura: Antes de desactivar compcache y sin tocar lowmemorykiller Al acostarme: 100% Al despertar: 81-85% Demasiado para no estar haciendo nada. Estaba bastante obsesionado con esto Ahora (hoy) Al acostarme: 100% Al despertar: 98% Tendré que seguir probando porque me parece exagerado. Llegué a pensar que mi configuración de lowmemorykiller estaría matando el widget de batería, pero no, funciona perfectamente. Es posible que compcache no estuviera funcionando mal y generaba mucha carga de cpu trabajando con la memoria.
__________________
________ ★[CWMODIN] Flashea y personaliza ODIN stock roms desde el recovery http://ow.ly/kbEwt★[Universal Flasher Tool] Flashea temas metamorph y archivos desde el recovery con autobackup http://goo.gl/Gxucm Última edición por intronauta Día 25/01/10 a las 20:08:37. |
#16
|
||||
|
||||
gracias por las explicaciones!
__________________
UNETE A DROPBOX -->AQUI<- 2Gb + 500 mb de almacenamiento en la nube por cada amigo que se una e instale Dropbox,
(a ambos 500 MB de espacio adicional) |
#17
|
||||
|
||||
Si no tienes el script de ramzswap es que has cocinado tu rom sin compcache.
Utiliza otro script: cambia /system/init.d/rasmzswap.sh por /data/init.sh
En /system/init.d/ sólo tengo dos archivos: compcache.sh y teknologist.sh. La ROM cocinar la cociné sin desactivar compcache. No sé que pasó. El archivo /data/init.sh si que lo tengo Su contenido sólo pone: #Paul@Modaco's init.rc file Entones lo que tengo que hacer ahora es añadir la línea: echo "1536,2048,4096,5120,15360,23040" > /sys/module/lowmemorykiller/parameters/minfree Correcto? De todos modos hasta esta mañana estuve usando Advanced Task Manager para cerrar cada hora aplicaciones (excepto algunas que excluí). Muy a menudo llegaba a tener libres unos 20Mb de memoria. El teléfono no es que fuera lento pero iba "más despacio". Pues esta mañana desactivé el autocierre de Advanced Task Manager. A veces también estaba en unos 20Mb libres de memoria, ahora está en 32Mb libres. Y me parece que va más rápido que cuando usaba el autocierre. Y hay un mogollónde aplicaciones abiertas que antes no estaban. |
#18
|
||||
|
||||
Estuve toda la tarde mirando hilos en Modaco para desactivar la compcache y todos hablan de modificar unos valores en rasmzswqp, pero no lo encuentro por ningún lado.
En /system/init.d/ sólo tengo dos archivos: compcache.sh y teknologist.sh. La ROM cocinar la cociné sin desactivar compcache. No sé que pasó. El archivo /data/init.sh si que lo tengo Su contenido sólo pone: #Paul@Modaco's init.rc file Entones lo que tengo que hacer ahora es añadir la línea: echo "1536,2048,4096,5120,15360,23040" > /sys/module/lowmemorykiller/parameters/minfree Correcto? De todos modos hasta esta mañana estuve usando Advanced Task Manager para cerrar cada hora aplicaciones (excepto algunas que excluí). Muy a menudo llegaba a tener libres unos 20Mb de memoria. El teléfono no es que fuera lento pero iba "más despacio". Pues esta mañana desactivé el autocierre de Advanced Task Manager. A veces también estaba en unos 20Mb libres de memoria, ahora está en 32Mb libres. Y me parece que va más rápido que cuando usaba el autocierre. Y hay un mogollónde aplicaciones abiertas que antes no estaban. Desactivar compcache en 3.2:
#/system/xbin/insmod /system/lib/modules/lzo_decompress.ko #/system/xbin/insmod /system/lib/modules/lzo_compress.ko
Lo de tener muchos procesos abiertos y esos pequeños petardeos seguro que es por tener compcache activado. Con mi configuración acumula procesos en segundo plano hasta alcanzar los 20MB aprox. y empieza a borrar (lo normal), pero ya me ha quitado de en medio los ocultos, y vacíos Sobre los programas en segundo plano,en mi caso suelen ser Dolphin brower, SUFBS y alguno más (más los que tengo ignorados, que son unos cuantos). Estos procesos tan solo están en pausa y no están haciendo nada de nada, no consumen ni CPU ni batería!! . SI quieres prueba con estas: echo "1536,2048,4096,7680,15360,23040" > /sys/module/lowmemorykiller/parameters/minfree echo "1536,2048,5120,7680,15360,23040" > /sys/module/lowmemorykiller/parameters/minfree Tendrás más memoria disponible. Aunque me parece demasiado restrictivo y unos 35MB siempre muertos de risa. Tener procesos en pausa no tiene porque ser un problema. Me gusta controlar que aplicaciones se están ejecutando y antes de estos cambios aparecía una lista inmensa después de usarlo unas horas , provocándome ansiedad, sudores fríos y poluciones nocturnas, obligándome a matarlos. Ahora está todo más limpito sin que me penalice en el consumo de CPU/batería El autocierre creo que no tiene mucho sentido. En un momento dado te puede interesar matar manualmente una aplicación determinada porque notes que va mal y te ralentiza el sistema (a Dolphin browser en ocasiones le da un tabardillo y se pone a consumir CPU -2% aprox- sin venir a cuento), pero hacerlo automáticamente -por sistema- cuando simplemente están en pausa no le veo la necesidad, y ya verás que Android lo gestiona bastante bien. ***Si quieres ver como se comporta tu sistema cuando está en modo sleep, hay un tutorial por ahí para monitorizar procesos con top (olvidate de la primera parte);) http://www.htcmania.com/showthread.php?t=74414
__________________
________ ★[CWMODIN] Flashea y personaliza ODIN stock roms desde el recovery http://ow.ly/kbEwt★[Universal Flasher Tool] Flashea temas metamorph y archivos desde el recovery con autobackup http://goo.gl/Gxucm |
#19
|
||||
|
||||
O sea, que realmente SI tengo compcache activado.
Pues en cuestión de memoria creo que se comportó bastante bien todo el día. Desde que por la mañana leí tu primer post desactivé el autocierre de Advance Task Manager y yo diría que incluso mejor que con él activado. Lo que me extraña mucho es el consumo de batería. No sé si tendrá que ver con todo esto pero normalmente al final del día me llega al 50% (saliendo de casa con el 100%), y ahora mismo ya está en el 10% y bajando. Ahora probaré tu configuración pero antes necesitaba que alguien me respondiera a una pregunta de novato ... Hay muchos tutoriales para hacerse root, instalar rom, recovery, etc, ..... Y muchas configuraciones con adb.... Pero: como coño se llega a conectar el teléfono para meterle las instrucciones? Conecto el teléfono apagado por USB, lo arranco en fastboot. Voy con la ventana de comandos a dónde tengo el sdk/tools. Pero al introducir algún comando me dice "device not found". Algo me falta, pero qué es??? Gracias |
|
#20
|
||||
|
||||
Si tienes windows tienes que instalar HTCSYNC .
Solo conectar por usb, abrir la consola, teclear adb shell y ya está. Hay tutos por ahí. Lo malo es que la instalación es problemática . Conozco a gente que se ha vuelto medio loca por intentarlo. Busca y arrepientete!
__________________
________ ★[CWMODIN] Flashea y personaliza ODIN stock roms desde el recovery http://ow.ly/kbEwt★[Universal Flasher Tool] Flashea temas metamorph y archivos desde el recovery con autobackup http://goo.gl/Gxucm |
Estás aquí | ||||||
|