 
          Introduction
Au démarrage d’un serveur Sybase ASE, il est possible de savoir si l’OS Solaris garantit ou non que le serveur Sybase n’est pas susceptible de paginer au niveau de la mémoire.
Typiquement, le message ci-dessous dans le fichier de log du serveur Sybase :
kernel os_create_region: shmat(1000): unable to use ISM, use normal attachindique que la mémoire partagée (shared memory) utilisée par Sybase n’est pas en mode ISM (Initimate Shared Memory), ce qui indique que l’OS ne garantit pas que le serveur Sybase ne paginera pas au niveau de la mémoire.
Dans ce contexte : il n’y a plus assez de mémoire disponible pour
            contenir l’équivalent du paramètre 'total memory' ou
            'max memory' du serveur Sybase. Il est donc préférable de démarrer
            le serveur Sybase avec un un peu moins de mémoire.
La commande ipcs –ami
La commande ipcs –ami permet de savoir si la mémoire partagée (shared
            memory) est en mode ISM (Intimate Shared Memory) ou pas.
shell> ipcs –amiLa sortie est allégée dans les exemples pour la lisibilité.
IPC status from as of Tue Sep 2 18:19:46 MEST 2003
T ID   KEY        ... CREATOR  CGROUP NATTCH SEGSZ       ... ISMATTCH
Shared Memory:
m 1000 0x2c028783 ... sybase   dba    2      2036441088  ... 0La colonne NATTCH indique 2, ce qui signifie que le serveur Sybase est sur 2
            engines.
Lorsque ISMATTCH vaut 0 dans ce qui est retourné par la commande ipcs -ami,
            cela signifie que la mémoire partagée n’est pas en mode ISM et que le
            serveur Sybase est susceptible de paginer.
Autre exemple :
IPC status from as of Tue Sep 2 18:19:46 MEST 2003
T ID   KEY        ... CREATOR  CGROUP NATTCH SEGSZ       ... ISMATTCH
Shared Memory:
m 1000 0x2cfa0d03 ... sybase   dba    7      12275220480 ... 7ISMATTCH vaut 7 (NATTCH = 7, soit NATTCH=ISMATTCH) : cela signifie que la
            mémoire partagée pour le serveur Sybase positionné sur 7 engines est en mode
            ISM et donc que l’OS garantit que le serveur Sybase ASE ne pagine pas et
            ne paginera jamais.
Dans certains cas, des segments de mémoire partagée peuvent ne pas être libérés
            à l’arrêt d’un serveur Sybase ASE : pour vérifier ce comportement,
            utiliser les commandes ipcs et ipcrm (cf documentation Sybase et
            Troubleshooting de la mémoire partagée). Par ailleurs, il faut toujours
            attendre un peu lors d’un serveur Sybase ASE (de quelques secondes à 30s
            pour un serveur de 40 Go de mémoire) pour que Solaris libère la mémoire
            effectivement. Si le redémarrage est effectué trop tôt, il se peut que le
            système n’alloue pas la mémoire en mode ISM, mais en mode normal (donc
            risque de pagination).
Pour vérifier la mémoire libre sur la machine ou si elle a été totalement
            libérée, utiliser la commande vmstat (ex : vmstat 2 ) et plus particulièrement
            la colonne free retournée par la commande qui indique la mémoire libre en
            Ko.