GNU/Linux >> Tutoriels Linux >  >> Linux

Comment vérifier la mémoire partagée Linux à l'aide de la commande ipcs

La mémoire partagée est la mémoire à laquelle plusieurs processus peuvent accéder; c'est-à-dire une région de mémoire qui peut être partagée entre différents processus et une meilleure façon de transmettre des données entre deux processus. La mémoire partagée est la forme la plus rapide de communication inter-processus actuellement disponible.

Supposons que le programme crée une portion de mémoire, à laquelle un autre processus peut accéder (si autorisé). Un segment partagé peut être attaché plusieurs fois par le même processus. Chaque fois que la mémoire est mappée dans l'espace d'adressage du processus, c'est-à-dire partageant la région de mémoire commune, le noyau n'impliquera pas le transfert de données entre les processus. De nombreuses applications, comme Oracle SGA nécessitant des paramètres de mémoire partagée, utilisent cette fonctionnalité.

Vérifions quelques commandes IPCS à travers quelques exemples.

Imprimer les segments de mémoire partagée actifs à l'aide de -m option.

où,

L'état "dest" signifie que le segment de mémoire est marqué pour être détruit
le champ "nattach" montre combien de pid d'application sont encore attachés à la mémoire partagée

# ipcs -m
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x00000000 65536 root 600 393216 2 dest
0x00000000 98305 root 600 393216 2 dest

La commande suivante imprime des informations sur les segments de mémoire partagée actifs :

# ipcs -q
------ Message Queues --------
key msqid owner perms used-bytes messages

Imprimer des informations sur les files d'attente de mémoire partagée active :

# ipcs -s
------ Semaphore Arrays --------
key semid owner perms nsems

Affiche des informations sur les sémaphores accessibles aux sémaphores. L'ipcs -l montre la limite de la mémoire partagée, des sémaphores et des messages.

# ipcs -l
------ Shared Memory Limits --------
max number of segments = 4096
max seg size (kbytes) = 4194303
max total shared memory (kbytes) = 1073741824
min seg size (bytes) = 1

------ Semaphore Limits --------
max number of arrays = 128
max semaphores per array = 250
max semaphores system wide = 32000
max ops per semop call = 32
semaphore max value = 32767

------ Messages: Limits --------
max queues system wide = 16
max size of message (bytes) = 65536
default max size of queue (bytes) = 65536

La commande ci-dessous indique la taille maximale du segment de mémoire unique que le processus Linux peut allouer dans son espace d'adressage virtuel. Vous pouvez limiter la taille maximale du segment de mémoire unique en exécutant la commande suivante.

# cat /proc/sys/kernel/shmmax
4294967295

Vous pouvez définir la valeur shmmax en faisant écho au fichier /proc concerné comme ci-dessous. La commande suivante définira la taille maximale (en termes d'octets) d'un seul segment de mémoire sur 8388698 :

# echo 8388608 > /proc/sys/kernel/shmmax

De la même manière, vous pouvez définir la taille maximale autorisée de tout message unique dans une file d'attente de messages System V IPC, en octets.

# echo 8192 > /proc/sys/kernel/msgmax

Vous pouvez vérifier le paramètre actuel du noyau pour le sémaphore avec la commande suivante.

# cat /proc/sys/kernel/sem
250 32000 32 128
where
max number of arrays = 128
max semaphores per array = 250
max semaphores system wide = 32000
max ops per semop call = 32
semaphore max value = 32767

Conclusion

Dans ce didacticiel, nous avons appris la commande Linux ipcs pour vérifier les informations de mémoire partagée. J'espère que vous avez apprécié la lecture et s'il vous plaît laissez vos suggestions dans la section des commentaires ci-dessous.


Linux
  1. Comment vérifier l'utilisation de la mémoire du processus avec la commande Linux pmap

  2. Comment vérifier la taille de la RAM dans la ligne de commande Linux en Go

  3. Comment tuer un processus sous Linux en utilisant la commande ?

  4. Comment vérifier l'utilisation de la mémoire sur un serveur basé sur Linux

  5. Exemples de commandes ipcs sous Linux

Commande gratuite Linux (vérifier l'utilisation de la mémoire)

Comment vérifier les informations du processeur sous Linux

Comment vérifier l'historique des commandes Linux par dates

Comment exécuter une commande périodiquement sous Linux à l'aide de Watch

Comment vérifier la vitesse d'Internet sous Linux

Comment vérifier les ports ouverts sous Linux ?