Contenido

Introducción

Detalles del problema

Análisis

Introducción

En el router de servicios de agregación 9000 (ASR9K) que ejecuta Enhanced XR (eXR), también conocido como XR de 64 bits, versión 6.2.1 y posterior, el comando "show memory summary" no muestra toda la memoria interna documentada en la hoja de datos correspondiente, lo que puede confundir a algunos clientes.

Detalles del problema

A continuación, utilizaremos un ASR9901, que ejecuta 6.4.2, como ejemplo.

Según la ficha técnica, el procesador de routing (RP) integrado tiene 32 GigaBytes (GB) de memoria de acceso aleatorio (RAM).

RP/0/RSP0/CPU0:R1#show platform

Node              Type                       State             Config state

--------------------------------------------------------------------------------

0/RSP0/CPU0       ASR9901-RP(Active)         IOS XR RUN        NSHUT

0/FT0             ASR-9901-FAN               OPERATIONAL       NSHUT

0/FT1             ASR-9901-FAN               OPERATIONAL       NSHUT

0/FT2             ASR-9901-FAN               OPERATIONAL       NSHUT

0/0/CPU0          ASR9901-LC                 IOS XR RUN        NSHUT

"Show memory summary" solo muestra alrededor de 27 GB, a pesar de que el sistema reconoce la memoria total como 32 GB en "admin show system resources".

RP/0/RSP0/CPU0:R1#show memory summary

node:      node0_RSP0_CPU0

------------------------------------------------------------------

Physical Memory: 27089M total (22185M available)

Application Memory : 27089M (22013M available)

Image: 4M (bootram: 0M)

Reserved: 0M, IOMem: 0M, flashfsys: 0M

Total shared window: 133M

RP/0/RSP0/CPU0:R1#admin show system resources

Node                    Physical                        Application              Boot Partition         CPUs    Shmwin

Total   Available       Cached  Total   Available       Cached  Total   Available

0/RSP0-Host     32415M^ 512M^           135M    31655M^ 500M^           132     923M    542M            4       N/A

0/RSP0-Admin    1940M   1072M           144M    1894M   1047M           141     2308M   1252M           1       N/A

0/RSP0-XR       27739M  22548M          999M    27089M  22020M          975     N/A     N/A             2       6655M

<snip>

El mismo comportamiento se puede observar en otros dispositivos ASR9K, por ejemplo: ASR9010 con eXR 6.2.3

Si observamos la hoja de datos A9K-RSP880-TR debería tener 16 GB de RAM.

RP/0/RSP0/CPU0:R2#show platform

Node              Type                       State             Config state

-------------------------------------------------------------------------------

0/RSP0/CPU0       A9K-RSP880-TR(Active)      IOS XR RUN        NSHUT

0/FT0             ASR-9010-FAN-V2            OPERATIONAL       NSHUT

0/FT1             ASR-9010-FAN-V2            OPERATIONAL       NSHUT

0/1/CPU0          A9K-MOD400-TR              IOS XR RUN        NSHUT

0/1/0             A9K-MPA-20X10GE            OK

0/1/1             A9K-MPA-1X100GE            OK

0/PT0             A9K-AC-PEM-V3              OPERATIONAL       NSHUT

0/PT1             A9K-AC-PEM-V3              OPERATIONAL       NSHUT

"Show memory summary" muestra 12.5GB y "admin show system resource muestra 16GB

RP/0/RSP0/CPU0:R2#show memory summary

node:      node0_RSP0_CPU0

------------------------------------------------------------------

Physical Memory: 12496M total (8465M available)

Application Memory : 12496M (8287M available)

Image: 4M (bootram: 0M)

Reserved: 0M, IOMem: 0M, flashfsys: 0M

Total shared window: 128M

RP/0/RSP0/CPU0:R2#admin show system resou

Node                    Physical                        Application              Boot Partition         CPUs    Shmwin

Total   Available       Cached  Total   Available       Cached  Total   Available

0/RSP0-Host     16217M^ 276M^           29M     15837M^ 271M^           28      923M    592M            8       N/A

0/RSP0-Admin    1940M   1158M           78M     1894M   1131M           76      2308M   1451M           1       N/A

0/RSP0-XR       12796M  8488M           888M    12496M  8288M           867     N/A     N/A             6       3071M

0/1-Host        24491M  11510M          127M    23917M  11241M          124     923M    592M            6       N/A

0/1-Admin       1008M   471M            90M     984M    460M            88      2308M   1528M           1       N/A

0/1-XR          10948M  5902M           2343M   10691M  5764M           2288    N/A     N/A             5       3071M

Sin embargo, si verificamos el XR de 32 bits, muestra la memoria física total como se documenta en la hoja de datos:

RP/0/RSP0/CPU0:R3#show memory summary

Physical Memory: 16384M total (12600M available)

Application Memory : 16043M (12600M available)

Image: 100M (bootram: 100M)

Reserved: 224M, IOMem: 0, flashfsys: 0

Total shared window: 51M

RP/0/RSP0/CPU0:R3#show platform

Node            Type                      State            Config State

-----------------------------------------------------------------------------

0/RSP0/CPU0     A99-RSP-TR(Active)        IOS XR RUN       PWR,NSHUT,MON

0/RSP1/CPU0     A99-RSP-TR(Standby)       IOS XR RUN       PWR,NSHUT,MON

0/1/CPU0        A9K-MOD400-SE             IOS XR RUN       PWR,NSHUT,MON

0/1/0           A9K-MPA-20X10GE           OK               PWR,NSHUT,MON

0/1/1           A9K-MPA-2X100GE           OK               PWR,NSHUT,MON

0/2/CPU0        A99-8X100GE-SE            IOS XR RUN       PWR,NSHUT,MON

0/4/CPU0        A9K-MOD400-TR             IOS XR RUN       PWR,NSHUT,MON

0/4/0           A9K-MPA-8X10GE            OK               PWR,NSHUT,MON

0/4/1           A9K-MPA-2X40GE            OK               PWR,NSHUT,MON

Análisis

A partir de la versión 6.2.1 en adelante, eXR en ASR9K utilizará el modelo de virtualización de máquina virtual (VM), y pasará de utilizar el modelo Linux Container (LXC) que se utilizó en las versiones 6.1.2 y 6.1.3.

Los contenedores pueden empaquetar muchas más aplicaciones en un único servidor físico que una máquina virtual (VM).

Las VM pueden ocupar una gran cantidad de recursos del sistema. Cada VM ejecuta no solo una copia completa de un sistema operativo, sino también una copia virtual de todo el hardware que el sistema operativo (SO) necesita ejecutar. Esto puede aumentar la cantidad de memoria y los ciclos de la CPU. Por el contrario, todo lo que un contenedor requiere es suficiente de un sistema operativo, programas y bibliotecas compatibles, y recursos del sistema para ejecutar un programa específico. Sin embargo, las VM ofrecen mucha más flexibilidad para admitir funciones como la actualización de software en funcionamiento (ISSU).

Puesto que Linux Containers comparte los recursos físicos y el núcleo del host, mientras que cada VM requiere su propio sistema operativo y hardware virtualizado, esto explicaría por qué a cada VM se le asigna una cantidad específica de recursos desde el host general, lo que resulta en que show memory summary no muestra la memoria física total en las versiones 6.2.1 y posteriores de eXR. Los contenedores Linux también pueden tener un límite para la memoria asignada tal como aparece en las plataformas NCS5000 y NCS5500, y se observarán los mismos comportamientos para la CLI 'show memory summary' en estas plataformas.