Métriques

(Noté FD dans les tableaux) c'est une référence à un fichier ouvert par le processus ou une connexion TCP, une librairie, un thread... Chaque processus a une limite système qui peut être consultée par la commande ulimit -n.

Une commande système telle que : lsof -p <pid> (sur Linux) ou pfiles <pid> (sur Solaris) permet de connaitre ce que consomme un processus.

La limite peut être repositionnée grâce à la variable UXMAXFD si le système le permet.

Peut être capturé par la commande : netstat -a | grep <port UVMS>

La pile TCP limite la plage de numéros de ports (paramètre système MaxUserPort sur Windows) qu'un processus peut utiliser à chaque instant. De plus, une connexion est maintenue dans le système en état TIME_WAIT pendant 4 minutes (paramètre système TcpTimedWaitDelay sur Windows) après sa fermeture.

De ce fait, de fréquentes ouvertures et fermetures de connexions TCP peuvent conduire le système à atteindre la limite MaxUserPort et plus aucune connexion ne sera possible. Il sera alors nécessaire d'augmenter cette limite et de diminuer la durée de vie d’un socket en TIME_WAIT.

Cette valeur a été mesurée sur des systèmes quadri-cœurs. Par conséquent, la limite est de 400% et non de 100%.

Autrement dit, 100% signifie que l'UVMS utilise un cœur entier, 3 cœurs étant encore disponibles.

Sur Linux, on mesure l'indicateur RSS (Resident Set Size) : mémoire totale occupée par le produit en mémoire vive (donc swap exclus)

Sur Windows, on mesure la mémoire privée (indicateur équivalent à celui sur Linux)

Le maximum pour cette valeur sous UVMS peut être défini par la variable UniViewer : UXMAXJVMMEM. Le minimum est défini par la variable UXMINJVMMEM.

La mémoire RSS (ou mémoire privée) sera toujours supérieure ou égale à la mémoire heap allouée. Cette différence qu'on appelle mémoire native est utilisée pour gérer des objets systèmes (non Java) comme les piles de threads.

Si la heap utilisée atteint la heap allouée qui elle-même est déjà à UXMAXJVMMEM, alors Java ne peut pas allouer de mémoire supplémentaire et des erreurs telles que "OutOfMemory" ou "Java heap space" peuvent apparaître dans le journal.

Pour vérifier l'utilisation : <chemin du jdk>/bin/jstat –gc <pid jvm> colonne PC

Pour vérifier les limites : ps –ef | grep <pid jvm> valeur de l'argument -XX:MaxPermSize=

Pour vérifier l'utilisation : <chemin du jdk>/bin/jstat –gc <pid jvm> colonne PU

Pour vérifier les limites: <chemin du jdk>/bin/jstat –gc <pid jvm> colonne PC

Pour vérifier l'utilisation : ps –e –o nlwp,pid | grep <pid>

Pour vérifier les limites: ulimit –u

Les variables correspondantes sont listées ci-dessous. Pour plus d'information reportez-vous à la section "Personnalisation de Dollar Universe".

UVMS

UNI_VIEWER_MONITORING_CONSOLIDATION_THREADS

CHECK_DU_STATUS_PROCESSING_THREADS

AUT_THREAD_MIN

AUT_THREAD_MAX

UNI_VIEWER_PACKAGES_MAX_THREADS

DUAS

U_IO_THREADPOOL_MAX

U_IO_THREADPOOL_MIN

UXJEE_MAIN_MIN_POOL_SIZE

UXJEE_MAIN_MAX_POOL_SIZE

UXJEE_SUBMISSION_MIN_POOL_SIZE

UXJEE_SUBMISSION_MAX_POOL_SIZE

Pour vérifier l'utilisation, sous UNIX/Linux la commande système est ps –ef | grep <nom> | wc –l

Pour vérifier les limites, sous UNIX/Linux la commande système est ulimit –u, sous Windows vérifiez le segment de bureau (valeur de la section partagée non-interactive)

Pour redéfinir les limites système sous UNIX/Linux la commande système est ulimit –u <nouvelle valeur>, sous Windows : modifiez la valeur dans le registre, reportez-vous à la section "Segment de bureau sous Windows" pour plus d'informations.

L'utilisation de l'espace disque inclut l'espace disque global utilisé par les systèmes de fichiers, l'espace disque utilisé par les fichiers de données (fichiers .dta et .idx de DUAS) et l'espace disque utilisé séparément par les données, les fichiers binaires et les journaux.

Commandes système pour vérifier l'utilisation :

df –h

df –i (table des inodes)

du –s –k <répertoire>

Commandes système pour vérifier les limites :

df –h

Un fichier .dta est limité à 2 Go.

Variables correspondantes :

U_FS_DATA_WARN_TH

U_FS_DATA_STOP_TH

U_FS_LOG_WARN_TH

U_FS_LOG_STOP_TH

U_FS_FILESIZE_WARN_TH

U_FS_FILESIZE_STOP_TH