Guía SAS VIYA

Monitorear CAS_CACHE_DISK: Los secretos de la memoria de SAS Viya

Admin 04/12/2025 17 views

SAS© Cloud Analytic Services (CAS) es el motor de ejecución en memoria de la plataforma SAS© Viya. Su potencia reside en su capacidad para procesar volúmenes masivos de datos directamente en la RAM. Sin embargo, una pregunta crítica surge a menudo para administradores y arquitectos: ¿qué sucede cuando la memoria RAM está saturada o las tablas son demasiado grandes?

Aquí es donde entra en juego la CAS_DISK_CACHE (o Caché de Disco).

El Papel del Caché de Disco

El CAS_DISK_CACHE es un espacio de almacenamiento temporal en el disco duro de los nodos (workers y controller). CAS lo utiliza para:

  1. El "Paging": Descargar bloques de datos de la RAM al disco cuando la memoria está llena (memory mapping).

  2. La Replicación: Almacenar copias de bloques de datos para alta disponibilidad.

Si este espacio en disco se satura, se produce la detención inmediata de los procesos, o incluso el bloqueo de la sesión CAS. Por lo tanto, es vital poder consultar el estado de este caché en todo el clúster.

Note :
Análisis del Código de Monitoreo
El código CASL (CAS Language) a continuación permite auditar el estado de este caché. Así es como funciona, paso a paso:

1. Elevación de privilegios (accessControl.assumeRole)
Por defecto, un usuario estándar solo ve lo que concierne a su propia sesión. Para obtener una visión general de la infraestructura (el estado físico de los discos de todos los nodos), a menudo es necesario tener derechos de administración. La instrucción accessControl.assumeRole / adminRole="superuser"; intenta cambiar el usuario actual al rol de "Superuser". Esto permite ver las métricas de todos los nodos del clúster, no solo las del controlador.

2. La llamada a la acción (builtins.getCacheInfo)
Este es el corazón del script. La acción getCacheInfo del conjunto de acciones builtins consulta el sistema de archivos subyacente configurado para el caché. Devuelve información crucial:

La ruta de acceso (Path) en el servidor Linux.

El espacio total disponible (Total Size).

El espacio libre actual (Free Space).

3. La visualización (print)
El resultado se almacena en una variable de diccionario (aquí llamada cache) y luego se muestra en el registro o en la salida de resultados de SAS© Studio. Esto permite identificar rápidamente si un nodo específico está en peligro de saturación ("Disk Full").
1PROC CAS;
2 /* -------------------------------------------------------------------
3 OBJECTIF : Auditer l'espace disque du CAS_DISK_CACHE
4 PRÉREQUIS : Droits suffisants pour assumer le rôle de Superuser
5 ------------------------------------------------------------------- */
6 
7 /* 1. Tentative de passage en mode Superuser pour une visibilité globale */
8 /* Note : Si l'utilisateur n'a pas les droits, cette étape peut échouer ou être ignorée */
9 ACCESSCONTROL.assumeRole / adminRole="superuser";
10 
11 put "--- ÉTAT DU CAS_CACHE_DISK (Cache Disque) ---";
12
13 /* 2. Récupération des métriques de cache pour chaque nœud du cluster */
14 BUILTINS.getCacheInfo RESULT=cache;
15
16 /* 3. Affichage structuré des résultats */
17 /* Les colonnes typiques sont : Node Name, Path, Free Space, Total Size */
18 PRINT cache;
19RUN;