Rastree los errores de memoria de la actualización de SLES antes de volver a intentarlo.

Si SLES informa del error "No se puede asignar memoria" durante una actualización, primero compruebe si el kernel registró un error de falta de memoria y si se agotó la RAM o la memoria de intercambio. Pause una carga de trabajo no esencial conocida o aumente la memoria asignada a la máquina virtual solo después de confirmar la presión, y luego verifique que Zypper y RPM ya no estén activos antes de reanudar el procedimiento de actualización original.

Ejemplo hipotético: imagine una máquina virtual SLES 15 donde un administrador inicia una actualización de paquete programada mientras se ejecuta un proceso por lotes de gran tamaño. Zypper se detiene con un error de asignación de memoria. El siguiente ejemplo es ilustrativo, no un informe de un incidente o prueba real; utilice los comandos para recopilar evidencia en su propio sistema antes de elegir una solución.

Ejemplo de terminal SLES que muestra comprobaciones de free, swapon y vmstat con poca memoria disponible y la partición de intercambio casi llena.
En el caso hipotético, compare la RAM disponible, el espacio de intercambio configurado y la actividad de intercambio en curso antes de modificar la actualización.

1. Compruebe si el servidor aún se está actualizando.

No reinicie el sistema, no finalice los procesos de los paquetes ni ejecute un segundo comando de actualización solo porque la sesión SSH haya mostrado un error. Vuelva a conectarse en una segunda sesión y compruebe si hay procesos Zypper o RPM activos.

pgrep -a 'zypper|rpm'

Si un proceso de paquete aún está en ejecución, espere un tiempo y revise su salida o registros. No elimine los archivos de bloqueo de Zypper mientras haya una operación de paquete activa. Si no hay ningún proceso en ejecución, conserve el texto exacto del error y anote cuándo ocurrió; esta marca de tiempo ayuda a correlacionar los registros del kernel y del paquete.

2. Confirmar o descartar la presión de memoria

Recopile una instantánea actual de la RAM y del espacio de intercambio:

free -h
swapon --show
vmstat 1 5
Ejemplo de terminal SLES con una entrada de registro de falta de memoria del kernel y contexto de fallo de instalación de Zypper.
Los registros OOM del kernel cercanos al fallo de Zypper constituyen una prueba más sólida que el texto del error por sí solo; este registro es ilustrativo.

En free -h, compruebe la availablecolumna, no solo la cantidad marcada free; Linux también usa RAM para caché. swapon --showinforma si existe intercambio y cuánto se usa. En , los valores vmstatdistintos de cero repetidos en las filas recientes indican intercambio activo; la primera fila es un promedio desde el arranque, así que concéntrese en las filas posteriores.siso

Luego, busque un error de falta de memoria del kernel (OOM) cerca del fallo y lea el registro de Zypper:

sudo journalctl -k -b --since "30 minutes ago" | grep -Ei 'oom|out of memory|killed process'
sudo tail -n 80 /var/log/zypper.log

Un registro OOM-kill que mencione RPM, Zypper u otro proceso respalda un diagnóstico genuino de presión de memoria. Una RAM "libre" baja por sí sola no es suficiente: la caché puede recuperarse y el mensaje también puede deberse a un límite de memoria de un proceso o servicio. Si no aparece ninguna entrada OOM del kernel, verifique los límites del comando que falla y cualquier límite de memoria de systemd o contenedor antes de agregar memoria del host. La causa exacta no se puede identificar solo con la frase "No se puede asignar memoria".

3. Reduzca la presión antes de volver a intentarlo.

Regrese a la máquina virtual hipotética. Si el trabajo por lotes consume memoria y el sistema muestra actividad de intercambio sostenida o un error de memoria insuficiente del kernel, utilice el procedimiento de pausa o detención compatible con la aplicación. No finalice una base de datos, una carga de trabajo SAP u otro servicio con estado sin que su operador haya realizado los pasos de apagado. Vuelva a comprobar la RAM y el intercambio después de pausar la carga de trabajo.

Ejemplo de terminal SLES comprobando un servicio por lotes de muestra y ordenando los procesos por memoria residente.
Identifique la carga de trabajo que utiliza la memoria antes de pedirle a su propietario que la pause; los datos del servicio y del proceso son ejemplos hipotéticos.

Si la máquina virtual sigue teniendo poca memoria durante el mantenimiento normal, aumente la RAM asignada mediante el hipervisor o el plano de control de la nube compatibles y, a continuación, confirme que el sistema operativo reconoce la nueva cantidad. Añadir memoria de intercambio puede proporcionar margen temporal, pero es más lento que la RAM y no soluciona la demanda de memoria sostenida. La configuración de almacenamiento de SLES es importante: por ejemplo, SUSE documenta restricciones específicas para los archivos de intercambio en Btrfs. Evite crear o redimensionar la memoria de intercambio durante una actualización a menos que haya comprobado los requisitos del sistema de archivos, las instantáneas y la plataforma.

Cuando no haya registros de OOM, investigue el límite que se aplica al proceso que falla. En SLES 15, inspeccione el límite de memoria configurado de una carga de trabajo administrada por systemd, reemplazando el nombre de la unidad de ejemplo con el servicio afectado:

sudo systemctl show example-batch.service -p MemoryMax

Compare ese valor con la memoria disponible. Un límite de cgroup no se solucionará aumentando la RAM de la máquina virtual a menos que también se aumente el límite adecuadamente. En los Service Packs más antiguos, confirme el nombre de la propiedad con la documentación de systemd de esa versión.

4. Reanude la misma actualización compatible y verifíquela.

Una vez finalizado el proceso del paquete, revise /var/log/zypper.logla última acción completada y cualquier paquete que haya fallado. Si RPM o Zypper informan de una transacción incompleta, siga las instrucciones de recuperación de SUSE para ese error específico antes de volver a intentarlo. No elimine manualmente los archivos de la base de datos del paquete ni los bloqueos.

Utilice la misma ruta de actualización que inició originalmente. El mantenimiento rutinario de paquetes y la migración de un Service Pack son operaciones diferentes: SUSE documenta zypper patchla instalación de los parches publicados aplicables, mientras que las actualizaciones de Service Pack y de versiones principales tienen sus propias rutas y preparaciones compatibles. No cambie a zypper dupsimplemente como una solución temporal para la memoria. Para una ejecución de parches rutinaria, revise primero la transacción:

sudo zypper patch --dry-run
Ejemplo de terminal SLES revisando una prueba de parche Zypper antes de una actualización de paquete planificada.
Revise un plan de paquete de prueba antes de reiniciar la aplicación de parches rutinaria; utilice el comando documentado para la migración de un paquete de servicio.

Si la prueba preliminar muestra un plan razonable y la memoria es estable, programe una ventana de mantenimiento y ejecute el comando correspondiente a su tarea original. Mantenga la sesión SSH activa, supervise el proceso y verifique el resultado posteriormente.

sudo tail -n 80 /var/log/zypper.log
sudo journalctl -k -b --since "30 minutes ago" | grep -Ei 'oom|out of memory|killed process'

Una recuperación exitosa significa que los paquetes o la migración previstos se completaron, Zypper finalizó correctamente y no se produjo ningún error de memoria insuficiente (OOM) durante la ejecución. Si el sistema arranca pero es necesario revertir la migración del Service Pack de SLES, la función de reversión de Snapper documentada por SUSE solo se aplica cuando se cumplen sus requisitos, incluyendo una raíz Btrfs compatible y la configuración de instantáneas. No considere la reversión como una respuesta genérica a un parche de paquete fallido.

Cuándo detenerse y cuándo intensificar la escalada.

Si el error se repite después de aliviar la presión de memoria, los procesos de paquetes siguen bloqueados o la base de datos RPM informa de corrupción, detenga los reintentos. Conserve el registro de Zypper, el registro del kernel, el nivel del producto y del paquete de servicio, y el comando exacto utilizado. SUSE supportconfigpuede recopilar datos de diagnóstico para un caso de soporte. Los pasos aquí descritos ayudan a distinguir la presión de memoria de otros fallos de asignación; no permiten determinar un defecto específico del producto sin los registros completos y la configuración del sistema.

Para obtener información detallada sobre SLES 15 SP7, consulte las utilidades de monitorización del sistema de SUSE , la referencia de archivos de registro , la guía de administración de Zypper , los requisitos de swap y Btrfs , y las instrucciones de actualización y reversión en línea . Los comandos y las rutas de recuperación pueden variar según el Service Pack de SLES, la arquitectura, el sistema de archivos y si la tarea consiste en aplicar parches o migrar una versión.

Dejar un comentario

Cuando SLES Btrfs pasa a modo de solo lectura: Diagnostique antes de volver a montar.

Cuando SLES Btrfs pasa a modo de solo lectura: Diagnostique antes de volver a montar.

Identifique si Btrfs es intencionalmente de solo lectura, tiene poco espacio o está protegiendo datos después de errores, y luego elija una ruta de recuperación que se ajuste a la causa.

Registra SLES 15 con SUSE Manager en una red sin conexión.

Registra SLES 15 con SUSE Manager en una red sin conexión.

Prepare canales duplicados, cree una clave de activación e inicie un cliente SLES 15 sin acceso directo a Internet, manteniendo la conexión necesaria para las comprobaciones de entrada del administrador.

Haz que el reenvío X11 de YaST funcione a través de SSH.

Haz que el reenvío X11 de YaST funcione a través de SSH.

Solucione el error de inicio de XIO de YaST a través de SSH, verifique el reenvío de X11 y xauth, y cambie a la interfaz ncurses cuando no sea necesario usar una ventana remota.

Revierte de forma segura una actualización fallida de SLES con Snapper.

Revierte de forma segura una actualización fallida de SLES con Snapper.

Localiza la instantánea Btrfs previa a la actualización, pruébala en modo de solo lectura y haz que la recuperación sea permanente con Snapper, comprendiendo qué datos quedan fuera de la reversión raíz.

Reenvío seguro de Syslog de SLES con rsyslog y TLS mutuo

Reenvío seguro de Syslog de SLES con rsyslog y TLS mutuo

Envía los registros del sistema SLES a un recolector rsyslog remoto a través de TLS autenticado, con comprobaciones de certificados, almacenamiento en búfer de interrupciones y pruebas de entrega.

Rastree los errores de memoria de la actualización de SLES antes de volver a intentarlo.

Rastree los errores de memoria de la actualización de SLES antes de volver a intentarlo.

Utilice los registros de RAM, swap, kernel y Zypper para identificar la presión real sobre la memoria, proteger el estado de los paquetes y elegir un método más seguro para reintentar la actualización de SLES.

Mantén las actualizaciones de seguridad de Debian 12 en ejecución en un servidor sin interfaz gráfica.

Mantén las actualizaciones de seguridad de Debian 12 en ejecución en un servidor sin interfaz gráfica.

Habilita las actualizaciones de seguridad desatendidas de Debian a través de SSH, mantén las fuentes de paquetes predeterminadas y verifica las ejecuciones programadas mediante los registros de systemd y APT.

Reciba advertencias SMART de disco de Ubuntu por correo electrónico con smartd.

Reciba advertencias SMART de disco de Ubuntu por correo electrónico con smartd.

Compara las opciones de entrega de correo, configura smartd en Ubuntu y verifica que las advertencias sobre el estado del disco lleguen a tu bandeja de entrada.

Fallos en la búsqueda de DNS en Debian 12: Reparar systemd-resolved

Fallos en la búsqueda de DNS en Debian 12: Reparar systemd-resolved

Restaure las consultas DNS en Debian 12 comprobando systemd-resolved, reparando resolv.conf cuando sea necesario y verificando la resolución DNS y de aplicaciones ascendente.

¿Ubuntu 24.04 no muestra audio HDMI? Restaurar la salida.

¿Ubuntu 24.04 no muestra audio HDMI? Restaurar la salida.

Configura Ubuntu para que detecte tu monitor o televisor como salida de audio, selecciónalo en la configuración de sonido y comprueba la conexión o la lista de dispositivos PipeWire si falta la salida HDMI.