Surveiller le CAS_CACHE_DISK : Les dessous de la mémoire SAS Viya
Admin 30 vistas
Niveau de difficulté
Confirmé
Publicado el :
Consejo del experto
Michael
Ne vous contentez pas d'exécuter ce code quand le système ralentit. Intégrez l'action getCacheInfo dans un job de monitoring programmé (via SAS Job Execution ou un cron externe).
Si vous observez que le cache se remplit trop vite malgré une RAM importante, vérifiez votre paramètre COPIES. Passer de COPIES=1 à COPIES=0 pour vos tables de travail divisera par deux l'empreinte disque de ces tables sur votre cache !
C'est ici qu'intervient le CAS_DISK_CACHE (ou Cache Disque).
Le Rôle du Cache Disque
Le CAS_DISK_CACHE est un espace de stockage temporaire sur le disque dur des nœuds (workers et controller). CAS l'utilise pour :
Le "Paging" : Décharger des blocs de données de la RAM vers le disque lorsque la mémoire est pleine (memory mapping).
La Réplication : Stocker des copies de blocs de données pour la haute disponibilité.
Si cet espace disque sature, c'est l'arrêt immédiat des traitements, voire le crash de la session CAS. Il est donc vital de pouvoir interroger l'état de ce cache sur l'ensemble du cluster.
Note : Analyse du Code de Monitoring
Le code CASL (CAS Language) ci-dessous permet d'auditer l'état de ce cache. Voici comment il fonctionne, étape par étape :
1. L'élévation de privilèges (accessControl.assumeRole)
Par défaut, un utilisateur standard ne voit que ce qui concerne sa propre session. Pour obtenir une vue d'ensemble de l'infrastructure (l'état physique des disques de tous les nœuds), il est souvent nécessaire d'avoir des droits d'administration. L'instruction accessControl.assumeRole / adminRole="superuser"; tente de basculer l'utilisateur courant vers le rôle de "Superuser". Cela permet de voir les métriques de tous les nœuds du cluster, pas seulement celle du contrôleur.
2. L'appel à l'action (builtins.getCacheInfo)
C'est le cœur du script. L'action getCacheInfo de l'ensemble d'actions builtins interroge le système de fichiers sous-jacent configuré pour le cache. Elle retourne des informations cruciales :
proc cas;
/* -------------------------------------------------------------------
OBJECTIF : Auditer l'espace disque du CAS_DISK_CACHE
PRÉREQUIS : Droits suffisants pour assumer le rôle de Superuser
------------------------------------------------------------------- */
/* 1. Tentative de passage en mode Superuser pour une visibilité globale */
/* Note : Si l'utilisateur n'a pas les droits, cette étape peut échouer ou être ignorée */
accessControl.assumeRole / adminRole="superuser";
put "--- ÉTAT DU CAS_CACHE_DISK (Cache Disque) ---";
/* 2. Récupération des métriques de cache pour chaque nœud du cluster */
builtins.getCacheInfo result=cache;
/* 3. Affichage structuré des résultats */
/* Les colonnes typiques sont : Node Name, Path, Free Space, Total Size */
print cache;
run;
/* 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;
19
RUN;
Aviso importante
Los códigos y ejemplos proporcionados en WeAreCAS.eu son con fines educativos. Es imperativo no copiarlos y pegarlos ciegamente en sus entornos de producción. El mejor enfoque es comprender la lógica antes de aplicarla. Recomendamos encarecidamente probar estos scripts en un entorno de prueba (Sandbox/Dev). WeAreCAS no acepta ninguna responsabilidad por cualquier impacto o pérdida de datos en sus sistemas.
SAS y todos los demás nombres de productos o servicios de SAS Institute Inc. son marcas registradas o marcas comerciales de SAS Institute Inc. en los EE. UU. y otros países. ® indica registro en los EE. UU. WeAreCAS es un sitio comunitario independiente y no está afiliado a SAS Institute Inc.
Este sitio utiliza cookies técnicas y analíticas para mejorar su experiencia.
Saber más.