TTMaster
17/07/14, 23:38:26
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
http://i58.tinypic.com/2965c8.png
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)
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
http://i58.tinypic.com/2965c8.png
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)