Cómo solucionar problemas de depuración de memoria: comandos iniciales para equipos Fortinet

Este artículo aborda un problema relacionado con la memoria en dispositivos FortiGate, un factor crucial para su rendimiento. La correcta gestión de la memoria no solo afecta la estabilidad del sistema, sino que también es esencial para la seguridad de la red. A través de este contenido, aprenderás a diagnosticar y solucionar problemas de memoria, facilitando el proceso de soporte técnico.

Descripción del problema

Los problemas de memoria en FortiGate pueden manifestarse de diversas formas, incluyendo disminución del rendimiento y fallos en el sistema. Es vital identificar rápidamente qué áreas de la memoria están afectadas para evitar consecuencias más serias. En este artículo, exploraremos cómo llevar a cabo un diagnóstico efectivo utilizando comandos de línea de comandos (CLI).

Alcance

Este artículo se centra en dispositivos FortiGate y su posible problemática relacionada con la memoria.

Diagnóstico paso a paso

  1. Áreas de memoria: Un núcleo de Linux distingue diferentes áreas donde se asigna memoria. Consulta la documentación de Linux en proc.txt y busca ‘/proc/meminfo’. En FortiGate, los problemas de memoria más comunes se observan en las siguientes áreas:
    • Cached: memoria asignada para operaciones de disco.
    • Active: memoria asignada para procesos recientemente activos.
    • Shmem: memoria compartida para diferentes procesos que acceden a la misma memoria.
    • Slab: memoria asignada por el núcleo.
  2. Comandos generales de FortiGate para verificar la asignación de memoria:
    En FortiGate, el comando get hardware memory mostrará dónde se asigna la memoria por el núcleo. Este comando es equivalente a fnsysctl cat /proc/meminfo o diagnose hardware sysinfo memory, que brindarán la misma información.
    Para solucionar cualquier problema de memoria, es recomendable recopilar datos cuando la memoria ya esté asignada, generalmente al alcanzar un uso del 75% de la memoria o más, es decir, cuando ya se está en modo de conservación.
Artículos relacionados  Cómo resolver problemas de carga en la política DoS en modelos FortiGate 100/101F y 200/201F

Solución recomendada

Un informe de depuración (igual a execute tac report):

diag debug report

O los siguientes comandos (que ya están incluidos en un informe de depuración, por lo que se prefiere un informe de depuración):

get sys stat

get sys perf stat

get hardware memory

Comandos CLI utilizados

Ejemplo de salida con áreas de memoria destacadas:

get system status
Version: FortiGate-100F v7.6.0,build3401,240724 (GA.F)
Serial-Number: FG100FTK12345678
Hostname: firewall02
Current HA mode: a-p, secondary
Cluster uptime: 533 days, 0 hours, 50 minutes, 55 seconds
Cluster state change time: 2024-08-30 09:47:00
System time: Fri Sep  6 00:01:05 2024
get system performance status
Memory: 3701384k total, 2951756k used (79.7%), 548876k free (14.8%), 200752k freeable (5.5%) <--- 79.7% memory usage
Uptime: 6 days,  14 hours,  16 minutes
get hardware memory
MemTotal:         3701664 kB 
MemFree:          2518100 kB 
Buffers:          14444 kB
Cached:           341552 kB 
Active:           724644 kB 
Shmem:           34880 kB 
Slab:            152464 kB 

Si ocurrió un modo de conservación en el pasado, la salida de get hardware mem se registrará en el crashlog en el momento del evento. Esto ayuda a entender dónde se asignó la memoria en el momento del problema, que puede visualizarse con el comando diag debug crashlog read o en un diag debug report.

Buenas prácticas y recomendaciones

  1. Si la memoria es alta en cached, recopila datos sobre archivos en el disco.
  2. fnsysctl df -h

    fnsysctl du -d 1 -a

  3. Si la memoria es alta en Active, recopila datos sobre procesos en el espacio de usuario activos.
  4. diagnose sys top-mem 99

  5. Si la memoria es alta en Shmem, recopila datos sobre memoria compartida y archivos en el disco.
  6. diagnose hardware sysinfo shm

  7. Si la memoria es alta en Slab, recopila información sobre slabs.
  8. diag hardware sysinfo slab

Con estos detalles iniciales recogidos mientras la memoria está asignada (superior al 75%), se puede aislar rápidamente la causa raíz. Ten en cuenta que el consumo base de memoria para dispositivos más pequeños con 2 GB o menos puede ser alto. Es recomendable implementar optimizaciones de memoria para evitar el modo de conservación.

Artículos relacionados  Cómo resolver el problema de la VPN SSL que muestra al usuario solo en un grupo en Fortinet

Notas adicionales

Para ejecutar, el comando fnsysctl requiere acceso Super_admin (cuenta de administrador con perfil de permisos super_admin). FortiGate producirá un error de otro modo. Para más información, consulta este artículo de KB: Technical Tip: fnsysctl command returns Unknown action 0.

¿Te ha resultado útil??

0 / 0

Deja una respuesta 0

Your email address will not be published. Required fields are marked *