Guide SAS VIYA

SAS Viya 3.5 : Comprendre et résoudre l'erreur "Local CASLIB quota exceeded"

Simon 18 Aufrufe
Schwierigkeitsgrad
Débutant
Veröffentlicht am :
Michael

Expertenrat

Michael

Ne confondez pas saturation du disque physique et restriction logique : cette erreur est souvent un "faux positif" infrastructurel, mais un vrai blocage applicatif. Avant d'alerter l'administration système pour ajouter du disque, auditez vos politiques globalCaslibs ; c'est généralement une simple barrière de sécurité logicielle qu'il suffit de rehausser pour laisser passer vos fichiers ASTORE volumineux.

Lors de l'exécution de modèles complexes dans SAS© Viya (comme VDMML), il peut arriver que votre processus s'arrête brutalement en affichant un message d'erreur spécifique concernant les quotas. Ce problème survient souvent lors de l'entraînement de modèles gourmands en ressources, tels que les "Random Forests", qui génèrent de volumineux fichiers d'état (ASTORE).

Si vous avez rencontré le message ERROR: Local CASLIB quota exceeded, cet article vous explique pourquoi cela se produit et comment y remédier.

SAS Viya 3.5 : Comprendre et résoudre l'erreur "Local CASLIB quota exceeded" -

Le Symptôme

Le scénario est classique : vous lancez un entraînement de modèle. Les logs indiquent que tout fonctionne normalement, les tables sont chargées, et le calcul commence. Soudain, au moment de l'écriture du fichier de sauvegarde du modèle (le fichier savestate ou astore), le processus échoue.

Voici un extrait typique de la log que vous pourriez observer :

ERROR: Local CASLIB quota exceeded. ERROR: The action stopped due to errors.

Dans cet exemple, le système a tenté d'écrire un fichier de plus de 10 Go (10 139 446 832 octets) avant d'être bloqué par le système.

L'Origine du Problème : Quota OS ou Quota CAS ?

La première réaction est souvent de vérifier les quotas du système d'exploitation (OS). Cependant, si vous n'avez défini aucune restriction au niveau de l'OS, l'erreur provient de la configuration interne du serveur CAS de SAS© Viya.

L'erreur indique que le cache disque alloué à la bibliothèque CAS (Caslib) a atteint sa limite. SAS© Viya utilise des politiques de gestion des ressources pour empêcher un seul processus ou une seule bibliothèque de monopoliser tout l'espace disque du serveur, ce qui pourrait faire planter l'ensemble du système.

Comprendre la "Global Caslib Policy"

Dans SAS© Viya, la gestion de l'espace disque pour les tables globales est régie par des règles de politique (Policy Definition). Le paramètre clé ici est le quota.

Le quota spécifie la quantité maximale d'espace de cache disque (en octets) qu'une Caslib globale peut utiliser.

La configuration se présente généralement sous cette forme :

  • globalCaslibs : Définit les règles pour les bibliothèques.

  • quota : La limite en octets.

  • _ALL_ : Une règle qui s'applique à l'ensemble des bibliothèques globales cumulées.

Exemple de configuration :

New BufferRO
globalCaslibs
_ALL_ 400000000
HPS 200000000
MyGlobal 100000000
~
~
Dans cet exemple, la bibliothèque MyGlobal est limitée à 100 Mo. Si elle tente d'écrire un fichier dépassant cette taille, l'erreur "Quota exceeded" sera déclenchée. De même, si la somme de toutes les bibliothèques dépasse la limite définie par _ALL_, l'erreur surviendra également.

La Solution

Pour résoudre ce problème, il est nécessaire d'ajuster la configuration des ressources du serveur CAS.

  1. Identifiez la Caslib concernée : Vérifiez dans quelle bibliothèque votre processus tente d'écrire (souvent la Casuser ou une bibliothèque temporaire lors de la création d'ASTORE).

  2. Augmentez le Quota : Il faut modifier la politique globalCaslibs pour augmenter la valeur du quota alloué à cette bibliothèque spécifique ou au paramètre _ALL_.

  3. Surveillez le Cache Disque : Assurez-vous que le serveur dispose physiquement de l'espace disque nécessaire pour accueillir ces augmentations de quota.

En résumé, cette erreur est une sécurité interne à SAS© Viya. Elle garantit la stabilité du serveur mais nécessite un ajustement manuel lorsque vous manipulez des modèles de Data Science générant des fichiers particulièrement volumineux.