GNU/Linux >> Tutoriales Linux >  >> Linux

Quedarse sin memoria ejecutando fsck en sistemas de archivos grandes

Solución 1:

Un núcleo de 64 bits y grandes cantidades de RAM permitirán que el fsck termine bien y rápido. Alternativamente, ahora hay una opción en e2fsck que le indicará que almacene todos sus resultados intermedios en un directorio en lugar de en la RAM, lo que ayuda enormemente. Crear /etc/e2fsck.conf con los siguientes contenidos:

[scratch_files]
directory = /var/cache/e2fsck

(Y, obviamente, asegúrese de que ese directorio exista y esté en una partición con unos cuantos GB de espacio libre). e2fsck ejecutará SLLOOOOWWWWWWW, pero al menos se completará.

Por supuesto, esto no funcionará con el FS raíz, pero si tiene intercambio, entonces ya no tendrá que montar el FS raíz de todos modos.

Solución 2:

Terminé probando lo que sugirió womble; aquí hay algunos detalles más que pueden ser útiles si, como yo, no ha visto esta nueva funcionalidad en e2fsck antes.

La opción de configuración "scratch_files" para e2fsck estuvo disponible en algún momento en el período de la versión 1.40.x. (En nuestro caso, tuvimos que actualizar a la última distribución de Debian para obtener esta funcionalidad).

Además de la opción "directory =/var/cache/e2fsk" sugerida, hay algunas opciones de configuración adicionales para ajustar cómo se usa el almacenamiento de archivos temporales. Usé "dirinfo =false", ya que el sistema de archivos tenía una gran cantidad de archivos, pero no una cantidad tan grande de directorios. Si la situación fuera a la inversa, la opción "icount" sería la adecuada. Todas estas opciones se documentaron en la página de manual de e2fsck.conf.

Por cierto, Ted T'so escribió sobre estas opciones en este hilo.

Descubrí que e2fsck funcionaba extremadamente lento, mucho más de lo previsto por Ted. Se estaba ejecutando al 99,9 % de la utilización de la CPU la mayor parte del tiempo (en un procesador antiguo extremadamente lento), lo que sugiere que el almacenamiento de estas estructuras de datos en el disco en lugar de la memoria no fue la causa principal de la ralentización. Puede ser que algo más sobre lo que estaba almacenado en el sistema de archivos hizo que e2fsck fuera particularmente lento. Al final, he abandonado la verificación del sistema de archivos por ahora; el sistema de archivos debía revisarse, pero no tenía errores (hasta donde yo sé), así que voy a hacer arreglos para revisarlo en un momento más conveniente cuando podamos permitirnos tener una interrupción de una semana.


Linux
  1. Linux:¿el sistema se cuelga cuando se queda sin memoria?

  2. Ejecución de reparaciones en sistemas de archivos XFS

  3. Averiguar si se entregó un mensaje a través de tcp

  4. Problemas para ejecutar Steam Terraria en Linux

  5. ¿Cómo puedo saber qué versión de Linux estoy ejecutando?

Cómo averiguar la versión del kernel de Linux que se ejecuta en su PC

Cómo encontrar los 10 principales procesos en ejecución por memoria y uso de CPU

Cómo encontrar los principales procesos en ejecución por uso de memoria

INCONSISTENCIA INESPERADA; EJECUTAR fsck MANUALMENTE

¿Se está quedando sin espacio en disco en el directorio /home?

El sistema se bloquea cuando se queda sin memoria