Ejecutar Linux de 64 bits con 750 MB de RAM: ¿vale la pena?
13
Tengo un servidor VPS de Debian, y el proveedor instaló Debian de 64 bits 5. ¿Debo solicitar una instalación de 32 bits, dado que solo tengo 750 MB de RAM y he oído que las variables requieren más RAM en los sistemas de 64 bits?
Depende de lo que vayas a correr, en realidad. Pruebe algunas de sus cargas y verifique si su RAM será suficiente.
Renan
Ejecutaré mal: Postgres, Apache y Tomcat.
Jhonnytunes
1
Nota: si decide actualizar a más RAM más adelante, 32 bits puede ser problemático (hay PAE para el salto con pértiga por encima del límite de 4 GB, pero eso tiene algunos gastos generales propios).
Piskvor salió del edificio
Ambos hosts VPS que he usado instalaron núcleos personalizados para sus hipervisores, por lo que es probable que tenga que atenerse a sus versiones del sistema operativo; si no ofrecen 32 bits, dudo que pueda instalar el suyo.
Rup
Respuestas:
16
La respuesta corta :
Las variables no ocupan el doble de espacio en el software de 64 bits frente a 32 bits. La ganancia de memoria potencial de cambiar a un sistema operativo de 32 bits no valdrá la pena.
La respuesta larga :
Los números pueden ser más grandes, sí, pero eso no significa que lo serán. También esto se aplica a los números, no a las cadenas, y las cadenas son (generalmente) las que consumen la mayor cantidad de memoria en una aplicación.
Además, muchas aplicaciones especifican explícitamente el tamaño del número con el que quieren trabajar, ya que en lenguajes como C, intpuede ser de cualquier tamaño, incluso menor que 32 bits. Y yendo aún más lejos, en mi máquina Linux de 64 bits, en C intes de 32 bits. Por lo tanto, tendría que solicitar explícitamente long longobtener un número de 64 bits.
Básicamente, las aplicaciones no van a usar más memoria solo porque fueron compiladas para 64 bits.
EDITAR :
En respuesta a la afirmación de Gilles de que Firefox de 64 bits usa el doble de memoria, fui e hice una comparación entre Firefox de 32 bits y 64 bits en mi sistema.
Probé iniciando 5 pestañas abiertas en http://acid3.acidtests.org/ y realicé la prueba 3 veces (una vez en 32 bits, una vez en 64 bits y luego repetir dos veces). Elegí este sitio porque es intensivo en JavaScript y utiliza contenido estático (cada representación de la página proporcionará los mismos datos).
En la carrera final:
32 bits: 173,244kb rss / 918,348kb virt
64 bits: 184,588kb rss / 966,624kb virt
Podría hacer pruebas más extensas, sí, pero creo que esto demuestra lo suficientemente bien que la diferencia de tamaño entre los dos es marginal.
Esto es muy exagerado. Algunos programas toman casi el doble de memoria en el modo de 64 bits, depende de qué tipo de datos manipulen. Me di cuenta de que Firefox y Chrome toman incluso más del doble de memoria (nunca he investigado por qué: ¿tamaño de código?). Para Apache, es probable que el consumo de memoria adicional sea pequeño (pero no lo he medido).
Gilles 'SO- deja de ser malvado'
@giles apenas. Acabo de lanzar un firefox de 32 bits y 64 bits. 32 bits utiliza 133,340 kb después del lanzamiento. 64 bits utiliza 133,412 kb después del lanzamiento.
Patrick
Es posible que haya mejorado recientemente, creo que lo comprobé por última vez con Firefox 4. Medí tomando un sistema inactivo (que ejecuta casi solo programas de 64 bits, lo que debería favorecer el ejecutable de 64 bits ya que algunas de sus bibliotecas compartidas ya estaban cargadas) y comparando la cantidad de memoria libre después de cargar algunas pestañas (algunas JS, sin Flash): descubrí que (free_memory_with_ff_64 - free_memory_without_ff)> 2 * (free_memory_with_ff_32 - free_memory_without_ff).
Gilles 'SO- deja de ser malvado'
44
@Gilles Creo que hubo algún defecto en la prueba. Incluso si firefox almacenara cada último bit de datos como un entero (sin cadenas, lo que no cambiaría el tamaño), y cada entero cambiara de 32 bits a 64 bits, el tamaño se duplicaría como máximo. No hay explicación para que sea más del doble.
Patrick
2
"Los números pueden ser mayores, sí, pero eso no significa que lo serán". - pero todos los punteros ahora definitivamente serán de 64 bits donde solían estar 32.
Rup
5
Elijo instalaciones de 32 bits en lugar de 64 bits para sistemas con menos de 4 gig de ram.
64 bits utiliza más memoria, debido a la naturaleza de sus punteros, esto oscila entre aproximadamente 10 y 50 megabytes adicionales para una instalación de LAMP de vainilla.
En un sistema con memoria RAM limitada, por ejemplo 256meg, esto puede ser una porción considerable.
Técnicamente, con PAE lo mismo se aplica hasta 64gig, sin embargo, el espacio direccionable para aplicaciones todavía está limitado a 4gig en cualquier caso. Por lo tanto, con algo más de 4 gig, se recomienda 64 bits para utilizar las ganancias de rendimiento, no menos las asociadas con la sobrecarga de PAE.
Excepto por algunas aplicaciones de cálculo de números que se ejecutan más rápido, el único beneficio de un sistema de 64 bits es que puede direccionar más de 4 GB de memoria. Dado que parte del espacio de direcciones está reservado para el núcleo, un proceso solo obtiene alrededor de 2 GB o 3 GB de espacio de direcciones (o más o menos, dependiendo de la configuración del núcleo). Para un caso de uso de una base de datos y un servidor web, no está planeando intercambiar mucho, y no va a hacer muchos cálculos numéricos. Entonces, con solo 750 MB de RAM, no verá ningún beneficio al usar un sistema de 64 bits.
El tamaño del código es aproximadamente el mismo entre el código i386 (32 bits) y amd64 (64 bits). La memoria de datos utilizada por el programa de 64 bits es algo mayor; cuánto más grande depende de la aplicación. Esperaría ver una diferencia notable, pero no grande, para su caso de uso.
Dado que el uso de 64 bits tiene un pequeño costo y ningún beneficio, le recomiendo que use un sistema de 32 bits, si no es demasiado difícil de obtener.
Respuestas:
La respuesta corta :
Las variables no ocupan el doble de espacio en el software de 64 bits frente a 32 bits. La ganancia de memoria potencial de cambiar a un sistema operativo de 32 bits no valdrá la pena.
La respuesta larga :
Los números pueden ser más grandes, sí, pero eso no significa que lo serán. También esto se aplica a los números, no a las cadenas, y las cadenas son (generalmente) las que consumen la mayor cantidad de memoria en una aplicación.
Además, muchas aplicaciones especifican explícitamente el tamaño del número con el que quieren trabajar, ya que en lenguajes como C,
int
puede ser de cualquier tamaño, incluso menor que 32 bits. Y yendo aún más lejos, en mi máquina Linux de 64 bits, en Cint
es de 32 bits. Por lo tanto, tendría que solicitar explícitamentelong long
obtener un número de 64 bits.Básicamente, las aplicaciones no van a usar más memoria solo porque fueron compiladas para 64 bits.
EDITAR :
En respuesta a la afirmación de Gilles de que Firefox de 64 bits usa el doble de memoria, fui e hice una comparación entre Firefox de 32 bits y 64 bits en mi sistema.
Probé iniciando 5 pestañas abiertas en http://acid3.acidtests.org/ y realicé la prueba 3 veces (una vez en 32 bits, una vez en 64 bits y luego repetir dos veces). Elegí este sitio porque es intensivo en JavaScript y utiliza contenido estático (cada representación de la página proporcionará los mismos datos).
En la carrera final:
32 bits: 173,244kb rss / 918,348kb virt
64 bits: 184,588kb rss / 966,624kb virt
Podría hacer pruebas más extensas, sí, pero creo que esto demuestra lo suficientemente bien que la diferencia de tamaño entre los dos es marginal.
fuente
Elijo instalaciones de 32 bits en lugar de 64 bits para sistemas con menos de 4 gig de ram.
64 bits utiliza más memoria, debido a la naturaleza de sus punteros, esto oscila entre aproximadamente 10 y 50 megabytes adicionales para una instalación de LAMP de vainilla.
En un sistema con memoria RAM limitada, por ejemplo 256meg, esto puede ser una porción considerable.
Técnicamente, con PAE lo mismo se aplica hasta 64gig, sin embargo, el espacio direccionable para aplicaciones todavía está limitado a 4gig en cualquier caso. Por lo tanto, con algo más de 4 gig, se recomienda 64 bits para utilizar las ganancias de rendimiento, no menos las asociadas con la sobrecarga de PAE.
En pocas palabras: <4gig = 32bit | > 4gig = 64bit.
fuente
Si el proveedor instaló Debian 5 de 64 bits, le recomiendo que se quede con esta versión.
La diferencia entre 64 bits y 32 bits no solo se encuentra en el administrador de memoria.
fuente
Excepto por algunas aplicaciones de cálculo de números que se ejecutan más rápido, el único beneficio de un sistema de 64 bits es que puede direccionar más de 4 GB de memoria. Dado que parte del espacio de direcciones está reservado para el núcleo, un proceso solo obtiene alrededor de 2 GB o 3 GB de espacio de direcciones (o más o menos, dependiendo de la configuración del núcleo). Para un caso de uso de una base de datos y un servidor web, no está planeando intercambiar mucho, y no va a hacer muchos cálculos numéricos. Entonces, con solo 750 MB de RAM, no verá ningún beneficio al usar un sistema de 64 bits.
El tamaño del código es aproximadamente el mismo entre el código i386 (32 bits) y amd64 (64 bits). La memoria de datos utilizada por el programa de 64 bits es algo mayor; cuánto más grande depende de la aplicación. Esperaría ver una diferencia notable, pero no grande, para su caso de uso.
Dado que el uso de 64 bits tiene un pequeño costo y ningún beneficio, le recomiendo que use un sistema de 32 bits, si no es demasiado difícil de obtener.
fuente