Desventajas de no tener una partición de intercambio

8

Recientemente instalé Ubuntu 10.04 en mi computadora portátil. Debido a la limitación de espacio del SSD, no configuré una partición de intercambio para el sistema operativo y tengo 1,5 GB de RAM.

Hay una advertencia durante la instalación, pero creo que no es gran cosa ya que todo salió bien.

A largo plazo, ¿habría algún inconveniente de no tener una partición de intercambio?

segfault
fuente
2
Gparted estará encantado de tallar un par de conciertos de su unidad raíz, y hacerlo con facilidad y aplomo.
msw

Respuestas:

6

Creo que si debo escribirle una respuesta a la pregunta, primero debo explicar un poco todo el asunto del intercambio. Perdóname por mi largo aliento.

Un archivo de intercambio / partición de intercambio, similar al archivo de paginación en Windows, es un espacio de disco duro dedicado para facilitar el mejor uso de la memoria. Hay dos usos del espacio de intercambio.

  1. Cuando no hay SUFICIENTE memoria para todas las aplicaciones, en el caso de que esto suceda en un sistema sin swapspace, se producirá un error al asignar memoria para una nueva aplicación que solicite nuevas páginas de memoria, y esto generalmente resulta en la finalización del programa.

  2. Cuando algunas páginas de memoria (la memoria se divide en 'páginas') se usaba hace algún tiempo, pero ya no se usa ahora, se transferirá en el archivo de intercambio y la memoria restante se puede usar para hacer otra cosa que podría ser más útil ( por ejemplo, ¡incluso almacenamiento en caché!): cuando esto sucede en un sistema sin espacio de intercambio, esto provocará que las páginas inactivas permanezcan en la memoria. Sin embargo, esto no es nada grave, ya que tenemos una gran cantidad de memoria en estos días.

Y luego, ahora que tenemos los usos de la partición swapfile / swap enumerados, ¿cuánto es generalmente aconsejable? - Eso depende de la función de la máquina. Si es una máquina de escritorio, configúrela en 1-1.5x la memoria. Si se trata de una máquina servidor, haga lo mismo, pero tenga en cuenta el uso de intercambio, si se usa mucho, actualice la memoria.

Como otros han señalado, gparted puede ayudarlo a crear varios gigas de espacio de su partición ext2 / ext3, pero también puede usar un archivo de intercambio:

dd if=/dev/zero of=/swapfile bs=1024 count=1048576
mkswap /swapfile
swapon /swapfile

Deberías

swapfile none swap sw 0 0

en fstabpara asegurarse de que está utilizando en cada reinicio

Y una cosa más: si no le importa tener espacio de intercambio pero desea minimizar el uso a menos que su memoria esté realmente extendida, puede cambiar la "capacidad de intercambio" del núcleo cambiando /proc/sys/vm/swappiness(valores, 0-100; predeterminado, 60)

bubu
fuente
Puede haber usos para el intercambio que no sean los que ha indicado, como una partición de intercambio que se utiliza para almacenar automáticamente un archivo de volcado por caída. Además, el tamaño de la memoria 1-1.5x no es un valor universalmente aceptado. En teoría, una computadora con más memoria necesitaría menos memoria para el intercambio, ya que tenía X RAM gastada y necesitaba Y más RAM, podría encajar esa memoria adicional en la RAM disponible en lugar del intercambio.
TOOGAM
@TOOGAM fue en 2010, cuando la gente usa cosas como 2-4GB de ram en su escritorio.
bubu
7

No suspender al disco.

Henk Poley
fuente
3

Si alguna vez se queda sin memoria, puede ocurrir un comportamiento impredecible a sus programas. A veces, el núcleo comenzará a perder memoria en lugares aleatorios . El kernel comenzará a eliminar procesos de baja prioridad.

Ninguna memoria virtual puede ocasionar grandes problemas, especialmente si va a comenzar a perder memoria de matar documentos importantes que tienen baja prioridad en los que se está trabajando.

Nitrodista
fuente
3
Esto sucedería independientemente de si tuvo o no un intercambio.
Ignacio Vazquez-Abrams
2
En realidad, el núcleo no "comenzará a perder memoria en lugares aleatorios". En cambio, hará lo que debe hacerse y comenzará a eliminar los procesos considerados "menos importantes" hasta que la situación mejore. Esto lo hace el "asesino de OOM". Ver, por ejemplo, linux-mm.org/OOM_Killer
sleske
Estoy corregido.
Nitrodist
0

Después de la instalación, verifique el uso de su memoria cuando ejecute operaciones intensivas en memoria o simplemente abra aplicaciones 'grandes', como Openoffice.org, descomprima archivos y demás. Si ve que la memoria total utilizada es de casi 1,5 GB, probablemente sea una buena idea tener una partición de intercambio o un archivo de intercambio, en caso de que ejecute convenientemente algo que use mucha memoria y Ubuntu comience a perder memoria importante, y tal vez incluso partes del núcleo (no es bueno, realmente no es bueno ...).

Hola71
fuente
Tengo curiosidad, ¿es posible hacer que Linux deje caer partes de su núcleo para liberar memoria para ejecutar procesos?
Igor Zinov'yev
Probablemente no, pero sabes a lo que me refiero ...
Hola71
AFAIK, el kernel de Linux siempre permanece en la memoria. Se carga como primera parte de la secuencia de arranque y permanece; la memoria nunca se libera ni se intercambia. Sin embargo, puede cargar y descargar módulos, y esa memoria se liberará (creo), pero eso suele ser solo unas pocas docenas de kb por módulo. El núcleo también mantiene varias estructuras de datos internos y memorias intermedias, puede liberar algunos de ellos (aunque no estoy seguro).
sleske
0

No es una respuesta completa, pero aquí hay una historia de una cosa que realmente me atacó, incluso cuando pensaba que tenía todas las desventajas posibles bajo control:

/programming/4567972/error-executing-aapt-all-of-the-sudden En resumen, algunas herramientas que se ejecutan desde procesos / aplicaciones Java realmente grandes no podrán ejecutarse siempre. Sin embargo, la mayoría de los usuarios habituales no se encontrarán con esto.

pjv
fuente