|
ROMs y desarrollo Sony Xperia SP ROMs y desarrollo Sony Xperia SP |
|
Herramientas |
#1
|
||||
|
||||
Configuración de la Ram, Governors y Planificadores E/S
He recibido varias consultas sobre cómo se debería configurar el terminal para una gestion mejor de la Ram en cada caso. Y, como cada usuario es un mundo y es mejor enseñar que aconsejar...
Voy ha explicar el funcionamiento de android y que tienes que tener muy presente a la hora de configurar la gestion de la ram. Olvidate de S.O. Windows cuando veas que tienes poca ram, porque en Android ES NORMAL. Ahora veras por qué. En Android (linux) la gestion de memoria se realiza de la siguiente manera: --Tipos de aplicaciones y procesos ejecutandose en el sistema 1. Aplicación en primer plano (La aplicacion que estas utilizando) 2. Aplicación Visible ( Aplicacion en segundo plano que esta realizando alguna accion) 3. Servidor secundario (Proceso que esta preparado en caso de necesitarlo) 4. Aplicaciónes Ocultas (Procesos de las aplicaciones ocultas) 5. Proveedor de contenido (Aplicaciones que proveen contenido al sistema) 6. Aplicación vacía (Aplicaciones guardadas en memoria para abrirse mas rapidamente) De acuerdo con esta estructura y, ya que el funcionamiento de este sistema es llenar el maximo de ram para conseguir una respuesta mucho mas eficiente, android debe seleccionar que tipo de aplicacion debe matar para conseguir mas memoria cuando la necesite. Esto lo consigue gracias al LMK (Low Memory Killer. En linux OOM), encargado de matar procesos automaticamente si se necesita recuperar ram cuando arrancas otra aplicacion o antes de saturarla. Ahora quiero que pienses cual de los 6 procesos matarias antes para recuperar ram. Por prioridades logicamente seria esta: 1º.- Matarias la 6 ya que no interesa nada tener una aplicacion en memoria si es probable que no la vuelvas a utilizar. Ejemp.: la aplicacion de tu banco, Droidwall, etc. 2º.- Matarias la 5 ya que puedes matar procesos de contenido, una vez hayan hecho su funcion. Ejemp.: Sincronizacion de Google Play, idem del Correo electronico, etc. 3º.- Matar aplicaciones ocultas (4) no tiene que causar un efecto negativo cara al usuario, por lo tanto tambien puedes eliminarlas. 4º.- Servidor Secundario (3) hemos dicho que es un proceso que esta activo por si es necesario. O sea un servicio que esta preparado en caso de necesitarlo una aplicacion. Puedes matarlo, pero no seria recomendable. 5º.- Matar las Aplicaciones Visibles (2) es simplemente renunciar a la multitarea. No recomendable 6º.- Quien quiere matar la aplicacion que estas usando? (1) Entonces... ¿Como configuras la ram o, mejor dicho, el LMK?(minfree LMK) Android 4.3 para nuestro SP viene configurado de la siguiente forma: Valores minfree LMK 58,68,78,88,98,118 (estamos hablando de puro Stock) Significado: Cuando la ram esta por debajo de 118Mb libres mataria las "Aplicaciónes vacías" Cuando la ram esta por debajo de 98Mb libre mataria el "Proveedor de contenido" Cuando la ram esta por debajo de 88Mb libre mataria las "Aplicaciónes Ocultas" Cuando la ram esta por debajo de 78Mb libres mataria el "Servidor Secundario" Cuando la ram esta por debajo de 68Mb libres mataria las "Aplicaciones Visibles" Cuando la ram esta por debajo de 58Mb libres mataria la "Aplicación en primer plano" Entendiendo esto, podemos comprobar la logica del sistema para gestionar la ram. Ahora bien... ¿Estos valores son buenos para todos los usuarios del XSP? NO. Pero son los aconsejables para disfrutar de la multitarea real con aplicaciones "normales" de uso cotidiano. ¿Y si uso mucho la camara, juegos o aplicaciones pesadas con el terminal? Entonces me conviene tocar estos valores para adaptarlos a mi gusto. ¿Cómo? Si estamos utilizando Perfomance control u otra aplicacion similar, podemos observar que 4Mb equivalen a 1024. ¿Por que?. Porque esos 1024 android no los cuenta como bytes, si no como paginas y cada pagina equivale a 4k bytes. Mirar esta operacion y lo entendereis: 1024x4 = 4096 --- > 4096 / 1024 bytes = 4Mb
(Click para mostrar/ocultar)
Si usaramos una aplicacion rot que nos permitiera cambiar los valores a nuestro gusto (lo que hace Perfomanse control es lanzar un script al inicio de sesion) podriamos aumentar o disminuir los valores para adaptar el rendimiento de nuestro terminal a las diferentes condiciones de uso... Gammer, Multitasking, etc. Para.estos casos bastaría con aumentar o disminuir. los cuatro últimos valores. En el caso de Perfomance control deberemos optar en los ajustes preestablecidos, entre Agresivo o Muy Agresivo para situaciones que requieran tener mucha ram libre (juegos,aplicaciones pesadas,etc) o Ligera o muy ligera cuando necesitemos tirar de la multitarea. ¿Cuantas veces puedo cambiar estos valores? Tantas veces como queramos ya que este ajuste se hace en tiempo real y no requiere reinicio. Por ultimo aclararos que la ram libre que os aparece no es real. Es mucho menor a lo indicado. El sistema Android, llena la ram que le queda con la cache. Memoria Libre=Ram Libre+Cache, por eso se nota mucha mas fluidez con mas ram libre, porque el sistema enseguida carga en la parte libre de la memoria la cache del sistema. Espero haber aclarado conceptos y ayudado a que os configureis perfectamente vuestro terminal En el siguiente post veremos los Governors y Planificadores e/s asi como el enlace para descargar Perfomance Control (Open Source) Última edición por TTMaster Día 19/07/14 a las 15:16:20. |
Los siguientes 26 usuarios han agradecido a TTMaster su comentario: | ||
|
#2
|
||||
|
||||
En esta segunda parte vamos a tratar de aspectos relacionados con el procesador y la lectura y escritura de la memoria fisica.
Como apuntaba en el post anterior, en este tema solo vamos a tratar de configurar el kernel Stock. Dicho de otra forma, trabajar con los parametros que Sony a puesto en nuestras manos para sacar el maximo partido a nuestro terminal. Es por ese motivo que no voy a citar Governors o Planificadores de entrada y salida que no podamos tener con una Stock ya que estos trabajan a nivel de kernel (Capa que se coloca entre las aplicaciones y los controladores de hardware) Governors 1.- Definicion Se llaman Governors o patrones de comportamiento del procesador a aquel software que regula la frecuencia del reloj del procesador a nivel de kernel. Este software esta diseñado para controlar tanto la velocidad de ascenso como la de descenso del reloj, dependiendo de la carga de trabajo en cada momento. Esto se consigue mediante unas reglas prefijadas que permiten ese incremento o decremento. Hay que reseñar que dependiendo del tipo (regla que escojamos) tendremos un consumo mayor o menor de la bateria. 2.- Tipos ONDEMAND: Es el governor que viene preestablecido en el 99% de los smartphones. Este governor, como su nombre indica, inicia rapidamente el escalado a la maxima potencia en el momento que se necesita. Es decir, tan solo con activar la pantalla el procesador trabajaria a su maxima potencia para despues ir descendiendo esta poco a poco hasta el nivel idoneo para trabajar. Esto tiene un inconveniente. Y es que los cambios tan repentinos de potencia hace que la vida util de la bateria se vea comprometida pero, aun asi y como he citado anteriormente, es el que llevamos todos preconfigurado de fabrica. INTERACTIVE: Es el governor ideal (si se me permite decirlo) ya que es casi identico al ondemand pero con mas niveles de escalado. Esto significa que no vas a tener saltos tan amplios para incrementar o decrementar la potencia del procesador. Este governor es el que en teoria hara que tengas un consumo mas racional de la bateria y, aunque esto hay muchos que no lo comparten, yo sigo pensando que la ventaja de tener mas niveles de escalado es que este es capaz de funcionar a un nivel inferior cuando ondemand esta al maximo. Este governor es el que permite que el procesador este siempre al rendimiento optimo. PERFOMANCE: Governor que hace que tu terminal vuele y vuele y vuele y consuma mucha mas bateria El procesador trabajando al 100% hace que tu movil vaya increiblemente rapido y, para haceros dudar un poco mas, comentare que si necesitais alta potencia en cualquier ocasion, por trabajo o diversion y vas a tener que hacer tareas que requieran alta potencia, aunque parezca mentira ahorraras en consumo de bateria. ¿Por qué?. Pues porque tardaras menos en realizar dichos trabajos con el consiguiente ahorro de bateria. Hasta aqui os he intentado explicar, de la manera mas sencilla que sé, los tres governors que podeis elegir con una rom con kernel oficial. Planificadores E/S 1.- Definicion: Se llaman planificadores E/S o planificacion E/S al método mediante el cual los sistemas operativos deciden el orden en que se procesan las peticiones de lectura/escritura en el disco duro o unidad de almacenamiento. Controla tambien la asignacion del espacio requerido para los procesos en ejecucion y garantizan que las peticiones de acceso se hagan en un tiempo limite. En ingles I/O Scheduler. Para que entendais todos como trabajan pondremos el tipico simil de cuello de botella o embudo. Imaginaros un embudo lleno de bolas de colores y que cada color corresponde a una peticion de acceso y al mismo tiempo habria que meter mas bolitas de colores en sentido contrario. Con eso en mente veamos los tres planificadores que tenemos a nuestra disposicion. 2.- Tipos NOOP: Es el mejor para nuestras tarjetas flash (sdcard int/ext) ya que no necesitan un reordenamiento de las peticiones de Entrada/Salida(en adelante E/S) y este planificador gestiona todas las peticiones por el metodo FIFO o, lo que es lo mismo, las primeras en llegar son las primeras en salir o ser atendidas. Es el mas simple de los tres planificadores En teoria es de las tres la que mas ahorro de bateria puedes obtener ya que se necesitan menos ciclos de CPU para gestionar las peticiones de E/S. DEADLINE: Con este planificador empezamos a ver un algoritmo que se basa en colas de procesamiento, es decir, reordena las peticiones y las pone en cola (5 en total)equitativamente, imponiendo tiempos de caducidad (deadline) a todas las peticiones E/S. Este planificador prioriza las peticiones de lectura sobre las de escritura.El mejor para bases de datos ya que agiliza mucho las consultas. Muy bueno salvo cuando el sistema se sobrecarga ya que se vuelve inestable en la eleccion de procesos. CFQ: Para mi es el mejor entre estos tres ya que es un planificador 100% equitativo. Su objetivo es mantener una cola de procesamiento de E/S escalable y por proceso que intenta distribuir equitativamente el ancho de banda disponible entre todas las peticiones de E/S. Es un planificador similar al Anticipatory (linux)es decir manteniendo una buena capacidad de procesamiento al permitir que las colas de procesamiento puedan pausar al finalizar un proceso de Entrada/Salida y anticipando la petición más cercana de ese mismo proceso. El inconveniente que tiene este planificador es que se dan casos en que el escaner de medios (la cache que realiza android con los archivos multimedia al inicio) tarda mas de lo normal en completarse. Conclusiones y Configuraciones Despues de leer y saber que es lo que tenemos entre manos, podemos decir que la mejor configuracion para cada caso seria: 1.- Juegos y aplicaciones pesadas: Gestion de memoria: Agresiva o Muy Agresiva Governor: Perfomance Planificador: Noop 2.- Imagen y Video: Gestion de memoria: Agresiva o Muy Agresiva Governor: Ondemand o Interactive Planificador: CFQ 3.- Multitarea Ofimatica: Gestion de memoria: Media o Ligera Governor: Interactive Planificador: Deadline o CFQ 4.- Multitarea ligera: Gestion de memoria: Ligera o Muy Ligera Governor: Interactive Planificador: Noop o CFQ Con estos 4 supuestos he querido respetar en todo momento la relacion entre potencia de procesado, tasa de E/S y el consumo de bateria. Descarga de Perfomance Control Perfomance Control Open Source Última edición por TTMaster Día 19/07/14 a las 15:17:03. |
Los siguientes 21 usuarios han agradecido a TTMaster su comentario: | ||
#3
|
||||
|
||||
Buen aporte,muy interesante
__________________
Darle click al botón gracias no te llevará más de 5 segundos
|
Gracias de parte de: | ||
#4
|
||||
|
||||
Quien no se lea esto si no lo sabe es que android le importa bien poco. Gracias maestro
|
Los siguientes 2 usuarios han agradecido a nolito16 su comentario: | ||
#13
|
||||
|
||||
Gracias TTMaster un excelente aporte y de tu tiempo, gracias.
este va a favoritos pero ya....
__________________
Mireee UUUsted!!!!! Yo no se naaaaa......Fin de la cita.
|
Gracias de parte de: | ||
#14
|
||||
|
||||
Actualizado.
|
Los siguientes 5 usuarios han agradecido a TTMaster su comentario: | ||
#16
|
||||
|
||||
Buen trabajo...
¿Y que sabes de los governors lionheart y Wheatley ? Yo este último lo probe en la slimkat, y lo que notaba es que el consumo era mucho más bajo con el.
__________________
Widget Batería3D - Widget Batería Circular - Widget Reloj Digital - Tema CM Smerald Green - Tema CM Xmerald-Blue
---------------------------------------------------------------------------------------- novomilenio.com - diseño - internet - tiendas online |
Gracias de parte de: | ||
#17
|
||||
|
||||
Fijate en esta imagen y veras hasta donde se puede llegar con kernels NO oficiales.
(Click para mostrar/ocultar)
Saludos |
Los siguientes 2 usuarios han agradecido a TTMaster su comentario: | ||
#18
|
||||
|
||||
Buenisimo el tutorial. Habia leido sobre todo esto pero nunca tan detallado y tan facil. Muchas gracias!
Aunque tengo una duda: en Perfomance Control, al configurar los valores para la RAM, los predeterminados serian el que se llama "Medio"? Última edición por mamechapa2 Día 21/07/14 a las 14:58:37. |
Gracias de parte de: | ||
#19
|
||||
|
||||
Exelente amigo, es lo que nesesitaba para el control de la rom existenz, se me estaba pegando demasiado asi que configure estas opciones segun el uso que le doy y es perfecto gracias!!!
|
Gracias de parte de: | ||
|
#20
|
||||
|
||||
Gracias a TODOS vosotros por vuestros comentarios. De verdad que me animáis a seguir compartiendo todo lo que sé para que podáis disfrutar del teléfono.
Dicho esto contesto a MAMECHAPA2: si no tocas nada, estás utilizando el ajuste Medio. El próximo tuto ira sobre la forma de crear un archivo update.zip para que os metáis ahí vuestras aplicaciones preferidas e instalarlas por recovery. Creo que es interesante ya que podéis hacer una instalación limpia y flashear el update al final y al arrancar tener vuestras apps ya instaladas. |
Los siguientes 3 usuarios han agradecido a TTMaster su comentario: | ||
Estás aquí | ||||||
|