He leído que necesitas poner la partición de intercambio en HDD en lugar de SSD.
Mis preguntas son las siguientes:
- ¿Cuándo y cómo la distribución (u otra cosa) realiza la "comprobación" para encontrar su partición Swap?
- ¿Sucede durante el arranque?
- ¿Solo comprueba todos los discos disponibles y busca una partición con la bandera de 'intercambio'?
- ¿Qué pasa si hay varias particiones como esa?
- Además, ¿cuántas particiones de intercambio necesito tener si ejecuto, por ejemplo, dos distribuciones diferentes en el mismo disco, digamos Fedora y Ubuntu?
Respuestas:
El espacio de intercambio estáticamente configurado (el tipo que utilizan prácticamente todas las distribuciones) se configura de la
/etc/fstab
misma manera que los sistemas de archivos.Una entrada típica se parece a:
También puede ver cualquiera
discard
onofail
especificado en el campo de banderas (el cuarto campo). Cada línea corresponde a un área de intercambio (no tiene que ser una partición, puede tener archivos de intercambio o incluso discos de intercambio completos).En algunos casos realmente específicos, es posible que tenga un espacio de intercambio configurado dinámicamente, aunque esto es bastante raro porque puede causar un comportamiento problemático relacionado con la gestión de la memoria. En este caso, la configuración es manejada completamente por un componente de espacio de usuario que crea y habilita archivos de intercambio según sea necesario en tiempo de ejecución.
En cuanto a la cantidad que necesita, esa es una pregunta complicada de responder, pero la cantidad de distribuciones de Linux diferentes que planea ejecutar no tiene ningún impacto en esto a menos que desee poder ejecutar una distribución mientras tiene otra en hibernación (y usted probablemente no quiera hacer esto, ya que es una forma realmente fácil de arruinar su sistema).
Cuando vaya a ejecutar el instalador para casi cualquier distribución importante (incluyendo Fedora, OpenSUSE, Linux Mint, Debian y Ubuntu), detectará cualquier partición de intercambio existente en el sistema y las agregará a la configuración para la distribución que está instalación (excepto posiblemente si selecciona particionamiento manual), y en la mayoría de los casos esto dará como resultado que el sistema se configure de manera sensata.
Incluso aparte de eso, sugeriría personalmente evitar tener múltiples particiones de intercambio a menos que esté hablando de un sistema de servidor con muchos discos, e incluso entonces realmente necesita saber qué está haciendo para configurarlo para que funcione bien .
fuente
/tmp
particiones / directorio). Probablemente en ese caso es mejor tener máquinas virtuales ...systemctl --all | grep swap
, obtengo dos resultados.dev-disk-by\x2duuid-1c692cc4\x2df942\x2d4478\x2dad0f\x2d266b7484273a.swap
yswap.target
ambos son ACTIVOS = inactivos y SUB = muertos . ¿Cómo hago para que mi sistema haga uso del área de intercambio?… Ambos son actualmente sistemas operativos systemd.
Que sucede en los sistemas operativos systemd
el mecanismo nativo
Systemd emplea varios tipos de unidades.
.mount
los archivos de la unidad le indican que monte volúmenes..swap
los archivos de la unidad le indican que le diga al núcleo acerca de las particiones de intercambio. (los.service
archivos de la unidad le indican cómo ejecutar servicios. Y así sucesivamente). Estos son los mecanismos nativos del sistema. Para promulgarlos, systemd mismo bifurca los procesos secundarios que realizan las llamadas relevantes del sistema.Si utiliza el
systemctl
comando (con--all
) en dicho sistema operativo systemd, le informará sobre las.swap
unidades cargadas . Por ejemplo:También le informará sobre las
.mount
unidades.Un administrador del sistema puede escribir realmente esos
.swap
archivos unitarios de la mano, al igual que xe puede escribir.service
,.socket
y otros archivos de la unidad de mano. systemd mismo solo busca archivos unitarios en el sistema de archivos. Son su mecanismo nativo.Incluso se puede obtener systemd para mostrarle qué hay en estos archivos de unidad y en qué parte del sistema de archivos se pueden encontrar:
archivos de unidad generados automáticamente
Se pueden escribir a mano. Por lo general, sin embargo, tales
.mount
y.swap
archivos unitarios son generados automáticamente por programas conocidos como generadores . Dos de estos generadores sonsystemd-fstab-generator
ysystemd-gpt-auto-generator
. Ambos se ejecutan temprano en el proceso de arranque y en respuesta a unsystemctl daemon-reload
comando, y (como puede ver arriba) generan una carga completa de archivos de unidad en un subdirectorio no documentado en/run/systemd/
. systemd solo usa esos archivos unitarios generados .El generador anterior lee
/etc/fstab
y reconoce varias extensiones systemd para ese formato de archivo. Como señalé en un comentario de respuesta, tradicionalmente las particiones de intercambio tienen el tipo de montajesw
y así es como uno encontrará que otros sistemas operativos reconocen los registros de intercambio en esta tabla. Pero los softwares de Linux han tomado la alternativa de reconocer el tipo VFS en su lugar, buscándoloswap
como el tipo VFS.systemd-fstab-generator
no es una excepción aquí, y así es como se interpreta/etc/fstab
al convertirlo en los mecanismos nativos.El último generador procesa la tabla de particiones EFI que se encuentra en el mismo disco que contiene la partición del sistema EFI, buscando entradas de la tabla de particiones EFI que tienen varios GUID de tipo de partición conocidos . Uno de esos GUID es el GUID convencional asignado a las particiones de intercambio de Linux; y si
systemd-gpt-auto-generator
encuentra una partición con ese GUID (que satisface los criterios dados en el systemd doco) creará una.swap
unidad para él; No/etc/fstab
involucrado en absoluto .Por supuesto, este proceso tiene muchos efectos secundarios. Por ejemplo, debido a que
/etc/fstab
no tiene una clave principal para la tabla, los registros pueden tener campos duplicados de "especificación" y "archivo" (es decir, "qué" y "dónde"). Sin embargo, en el mecanismo systemd nativo, el campo "archivo" (es decir, "dónde") es una clave única para las.mount
unidades, incrustada en los nombres de las unidades. No hay dos.mount
unidades que puedan compartirlo. Para las.swap
unidades, el campo "spec" (es decir, "qué") es la clave única para las unidades. No hay dos.swap
unidades que puedan compartir eso. Por lo tanto, no todos los registros/etc/fstab
son necesariamente convertibles a los mecanismos nativos y funcionarán, especialmente si las personas hacen cosas como enumerar el mismo punto de montaje para dos propósitos diferentes o enumerar la misma partición de intercambio de dos maneras diferentes.De manera similar, debido a que se ha traducido
/etc/fstab
en el mecanismo nativo y el mecanismo nativo del sistema tiene otras formas de activar unidades , el comportamiento es sutilmente diferente al de los sistemas operativos que no son del sistema..mount
Por defecto, una unidad se activará automáticamentesystemd-udevd
, incluso después del arranque, en respuesta a la apariencia del dispositivo de almacenamiento montado. O se puede enumerar comoWants=
oRequires=
de alguna.service
o.socket
unidad, lo que significa que se (re) activará cuando lo estén. Hay inclusoRequiresMountsFor=
.programas de instalación y la forma systemd
Tradicionalmente, los programas de instalación del sistema operativo y el administrador del sistema luego de reconfigurar el sistema tienen
sw
entradas escritas en/etc/fstab
. Y así es como el nativo.mount
y las.swap
unidades terminan siendo autogenerados. La utilidad de instalación / configuración "sabe" dónde se colocó el archivo de intercambio, porque en su interfaz de usuario el administrador del sistema hizo algún tipo de elección, y escribe un/etc/fstab
para que coincida. A veces, esa opción es que necesito que me hagas una partición de intercambio como parte de la instalación. ; a veces es Solo use la partición de intercambio que ya encontró en el disco. (instaladores mirando los tipos de partición, también).Pero la gente de systemd tiene esta idea de sistemas operativos que se configuran automáticamente desde un
/etc
árbol en gran parte vacío , los llamados sistemas sin estado , y de eso se tratan mecanismos como el generador que lee la tabla de particiones EFI. En el plan de la gente systemd, no hay/etc/fstab
, y de hecho no hay datos de configuración persistentes/etc
en absoluto, y todo esto se deduce del contenido de la tabla de particiones en el disco , en cada arranque y en cada unosystemctl daemon-reload
. Actualmente están promoviendo programas de instalación del sistema operativo que no escriben un/etc/fstab
.En el esquema tradicional, por supuesto, puede hacer que cada sistema operativo tenga su propia partición de intercambio privada, y no hacer que toquen entre sí las particiones de intercambio. Y, de hecho, si está utilizando hibernar a disco a través de una partición de intercambio y espera poder realizar un arranque múltiple a otro sistema operativo mientras está en hibernación (lo cual es una muy mala idea porque es muy fácil causar daños al sistema de archivos de esta manera ) eso será necesario.
En el esquema systemd, incluso si el sistema operativo aún no está como lo imaginan las personas systemd y "apátridas", los generadores antes mencionados funcionan; y así todas las particiones de intercambio (en el disco ESP / root) con el tipo de partición requerido son empleadas automáticamente por todos los sistemas operativos systemd. Dado que compartirán todas las particiones de intercambio descubiertas automáticamente, realmente no es necesario crear una partición de intercambio por sistema operativo instalado.
Otras lecturas
systemd.swap
. páginas de manual de systemd . freedesktop.org.systemd-fstab-generator
. páginas de manual de systemd . freedesktop.org.systemd-gpt-auto-generator
. páginas de manual de systemd . freedesktop.org.fuente
Históricamente, la partición de intercambio se especifica
/etc/fstab
con una entrada de tiposwap
. En el arranque, los procesos de inicio leerán ese archivo e insertarán esa configuración en el núcleo.Un ejemplo de la entrada en
/etc/fstab
es:No estoy familiarizado con la forma en que
systemd
gestiona el intercambio, pero creo que el resultado final es el mismo: un proceso de espacio de usuario es consciente de qué espacio está asignado para el intercambio, y el proceso de espacio de usuario informa al núcleo.fuente
/etc/fstab
desde susw
tipo de montaje en lugar de desde suswap
tipo VFS.systemd-gpt-auto-generator
.Todas las otras respuestas mencionan cómo apuntar a un sistema de archivos de intercambio en el arranque.
Sin embargo, varios puntos para agregar a las otras respuestas:
mkswap
;swapon
;swapoff
.fuente