20 votos

¿Cómo afectará una partición/archivo de intercambio al sistema?

Algunos amigos me han dicho que sus teléfonos Android tienen muy poca memoria disponible (<100MB) para las aplicaciones normales, porque el sistema operativo y algunos servicios inviables ocupan la mayor parte de la RAM. Por ejemplo, un teléfono con 512MB sólo muestra 90MB de memoria disponible, por lo que sólo 2-3 apps pueden funcionar al mismo tiempo.

Me pregunto si crear una partición/archivo de intercambio ayudará, pero he visto opiniones encontradas en toda la web y no estoy seguro de qué hacer. Aquí están mis preguntas:

(1) ¿Habrá muchas páginas de memoria que no se utilicen a menudo para intercambiar, especialmente en el sistema operativo y los servicios que no se pueden matar?

(2) ¿Cómo va a perjudicar la vida útil de la memoria flash el intercambio de pequeñas páginas de memoria? ¿La memoria flash (o la tarjeta SD) hace la nivelación de desgaste automáticamente?

(3) ¿Ayudará realmente el intercambio al rendimiento cuando se ejecutan varias aplicaciones? Supongo que si la respuesta a (1) es sí, lo hará.

(4) ¿La escritura en la memoria flash será demasiado lenta y perjudicará la capacidad de respuesta cuando se produzca el intercambio?

(5) ¿Es cierto que Android mantiene el mecanismo de intercambio del kernel de Linux, por lo que mientras haya una partición/archivo de intercambio, hará el intercambio sin configuración extra?

Gracias por leer.

8voto

Lie Ryan Puntos 15629

No creo que haya mucho beneficio con el intercambio para Android, ya que el ciclo de vida de las aplicaciones de Android es una forma mucho más avanzada de intercambio.

(1) ¿Habrá muchas páginas de memoria no utilizadas a menudo para intercambiar especialmente en el sistema operativo y en los servicios que no se pueden matar?

No se puede intercambiar el núcleo del sistema operativo ni siquiera en Linux de escritorio y Android ya mata servicios cuando necesita más RAM. Si el vendedor de tu dispositivo insiste en que tienes que tener servicios inútiles ejecutándose todo el tiempo, entonces rootea tu dispositivo.

(2) ¿Cómo afectará a la vida de la memoria flash el intercambio de pequeñas páginas de memoria perjudica la vida de la memoria flash? ¿La memoria flash (o la tarjeta SD?) hace nivelación de desgaste automáticamente?

Incluso si la tarjeta SD se desgasta, el cambio le hará bastante daño.

(3) ¿Ayudará realmente el intercambio rendimiento cuando se ejecutan varias aplicaciones? Supongo que si la respuesta a (1) es sí, lo hará.

No en el contexto de Android. A diferencia de los sistemas operativos tradicionales que seguirán intentando introducir procesos a medida que los solicites, Android forzará la eliminación de los procesos más antiguos y no utilizados y recuperará su memoria; esta eliminación es rápida ya que las aplicaciones ya guardarán su estado cuando cambies de tarea.

(4) ¿La escritura en flash será demasiado lenta y por lo tanto perjudicar la capacidad de respuesta cuando cuando se produzca el intercambio?

Probablemente, probablemente no. Necesitaremos puntos de referencia para ello.

(5) ¿Es cierto que Android mantiene el mecanismo de intercambio del kernel de Linux por lo que mientras haya un partición/archivo de intercambio, hará swapping sin necesidad de configuración adicional?

No sé si Android mantiene el mecanismo de intercambio, pero incluso si lo hace (o si compilas tu propio kernel), seguirás necesitando algunas configuraciones. Por lo general, es sólo tener un fstab que apunta al archivo de intercambio y haciendo swapon -a .

De hecho, tengo razones por las que el swapping puede perjudicar el rendimiento: impide que el ciclo de vida de las aplicaciones, el esquema de gestión de memoria de Android, funcione correctamente.

5voto

endolith Puntos 1021

Definitivamente hay un beneficio en el intercambio, a pesar de lo que todo el mundo en Internet le dirá. Pruébalo y compruébalo tú mismo. Empíricamente, en un G1 u otro teléfono con poca memoria, el intercambio hace que el teléfono funcione mejor y más rápido.

Sí, Android tiene incorporada la "gestión de tareas" del ciclo de vida, pero no es muy buena. Es mata rutinariamente los procesos cuando se agota la memoria, y se espera que las aplicaciones guarden su estado utilizando " Paquetes "para que cuando se reinicien, lo hagan en el mismo estado en el que estaban por última vez.

Una vez que Android determina que necesita eliminar un proceso, lo hace de forma brutal, simplemente matándolo a la fuerza. El kernel puede entonces reclamar inmediatamente todos los recursos que necesita el proceso, sin depender de que la aplicación esté bien escrita y responda a una petición educada de salida. Permitir que el núcleo recupere inmediatamente los recursos de la aplicación hace que sea mucho más fácil evitar situaciones graves de falta de memoria.

Esto sería genial si realmente funcionara, y sería mejor que el intercambio indiscriminado. Pero las aplicaciones no guardan realmente su estado; sólo guardan la cantidad mínima de información para volver a ese estado. (Y algunas aplicaciones ni siquiera se molestan en hacerlo). Volver a ese estado lleva tiempo. Dado que swap realmente guarda el estado completo de la aplicación, que sólo tiene que ser recargado, hace que el cambio entre aplicaciones sea mucho más rápido.

Si cambias a otra aplicación desde el navegador, por ejemplo, el navegador casi siempre se mata, y entonces tiene que recargar toda la página de Internet cuando se vuelve a cambiar a ella. Esto lleva mucho más tiempo que recargar el estado desde el intercambio, desperdicia tu dinero si estás en un plan de datos, y causa problemas de estado cuando la página web es dinámica.

Muchas aplicaciones tardan mucho más en iniciarse de lo que deberían, o no vuelven al mismo estado cuando se reinician, por lo que cambiarlas funciona mejor.

Supongo que las personas que están contentas con el sistema de stock utilizan sus teléfonos de manera diferente.

¿Debo utilizar una partición de intercambio con Cyanogenmod?

2voto

sambit rout Puntos 21

Tengo un Spice mi-435(sólo se vende en la India) que tiene una RAM de sólo 340M. Diablos ya, los archivos de intercambio ayudan mucho. Mi teléfono ejecuta ICS en tan baja RAM y definitivamente entró en muchos estados de memoria y allí el archivo de intercambio ayuda mucho. Todos los estados de las aplicaciones se transfieren a swap cuando no están en uso activo. Esto le da a mi teléfono espacio para más aplicaciones y aplicaciones hambrientas de RAM para ejecutar sin problemas con mucho mucho menos lag que antes. Sin embargo, hay un problema cuando abro la aplicación que he estado usando antes. Tarda en cargar su estado ya que la SD es mucho más lenta que la RAM de alta velocidad a bordo. Pero, la opción de swap es mejor para tan poca RAM. Yo recomendaría intercambiar la partición para la RAM menos de 512M pero no para más de 512M.

Espero que sea útil.

1voto

Jamie Puntos 11

El archivo de intercambio ayuda incluso en sistemas con mayor memoria RAM. Mi tablet de 7 pulgadas con cuatro núcleos y 1 GB de RAM obtiene un gran impulso en la multitarea al incluir un archivo swap de 2 GB, en la tarjeta micro sd uhs-1. Y por supuesto, el precio de la memoria baja rápidamente, e incluso en la escritura constante, nand flash se supone que duran años.

Básicamente soy de la opinión, porque la diferencia de rendimiento es tan radical, que probablemente cualquier persona con menos de una cantidad realmente grande de RAM debería hacer esto. De hecho, probablemente debería venir como una opción estándar en Android (junto con mayores cachés de aplicaciones, y una caché de Internet de tamaño adecuado).

Me refiero a que tienes una micro sd de 64-128gb (uhs-1), o incluso la uhs-2 que salió este año, además de una nand interna de 16-64gb, a menudo nand "rápida", que es una especie de ssd primitivo o incluso SSD, como se utilizan en las pizarras de Windows - no estás llenando exactamente todo ese espacio de alta velocidad con mucho. La velocidad sólo entra en juego con el vídeo, o la carga de aplicaciones en la memoria - que es exactamente el uso aquí.

Por supuesto, lo ideal sería que los fabricantes se centraran más en la RAM, que en la resolución o en los núcleos extra, porque claramente la velocidad del sistema se beneficia mucho de una mayor ram - y probablemente también deberían aumentar la velocidad del almacenamiento interno (como cambiar a sistemas de tipo ssd completo, o como mínimo nand "rápido". Pero mientras tanto, mientras que las altas resoluciones tienden a causar una especie de déficit de RAM en todos los dispositivos, un archivo de intercambio, y el almacenamiento en caché a una sd externa razonablemente ágil tiene mucho sentido.

La mayoría de los navegadores son lentos o con pocas funciones, pero rara vez son rápidos y completos, y eso se debe en parte a que el espacio para la caché de la aplicación en el disco interno es muy pequeño. Están diseñados para funcionar en un entorno de poca memoria y almacenamiento, y toda esa historia está cambiando. Incluso si la memoria RAM no está a la altura de lo que debería, el almacenamiento sí lo está, y puede ser bastante rápido con los estándares UHS-1 (o el uhs-2 lanzado este año), incluso si no es "rápido" o ssd.

Y el costo de la memoria externa, es cacahuetes realmente, incluso para mayor capacidad uhs-1. Al menos un uhs-1 de 64gb es perfectamente asequible (50 dólares donde estoy, pero sería menos USD), mucho más barato que el dispositivo, y 32 gb y menos es básicamente un par de tenners.

Hay muchas lecciones que aprender de los ordenadores de sobremesa, especialmente ahora que las especificaciones son cada vez más altas: el eslabón más lento del rendimiento es la carga del almacenamiento a la memoria RAM. Cuanto más se pueda hacer para mitigarlo, mejor.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X