GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo verificar la memoria compartida de Linux usando el comando ipcs

La memoria compartida es la memoria a la que pueden acceder múltiples procesos; es decir, una región de memoria que se puede compartir entre diferentes procesos y una mejor manera de pasar datos entre dos procesos. La memoria compartida es la forma más rápida de comunicación entre procesos disponible actualmente.

Suponga que el programa creará una parte de la memoria, a la que puede acceder otro proceso (si está permitido). Un segmento compartido se puede adjuntar varias veces mediante el mismo proceso. Siempre que la memoria se mapee en el espacio de direcciones del proceso, es decir, compartiendo la región de memoria común, el núcleo no se involucrará al pasar datos entre los procesos. Muchas aplicaciones, como Oracle SGA, requieren configuraciones de memoria compartida, usen esta función.

Revisemos algunos comandos IPCS a través de algunos ejemplos.

Imprime segmentos activos de memoria compartida usando -m opción.

donde,

El estado "dest" significa que el segmento de memoria está marcado para ser destruido
El campo "nattach" muestra cuántos pid de aplicaciones aún están adjuntos a la memoria compartida

# 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

El siguiente comando imprime información sobre segmentos activos de memoria compartida:

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

Imprimir información sobre las colas de memoria compartida activas:

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

Imprime información sobre los semáforos a los que se puede acceder. El ipcs -l muestra el límite de memoria compartida, semáforos y mensajes.

# 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

El siguiente comando muestra el tamaño máximo del segmento de memoria individual que el proceso de Linux puede asignar en su espacio de direcciones virtuales. Puede limitar el tamaño máximo del segmento de memoria individual ejecutando el siguiente comando.

# cat /proc/sys/kernel/shmmax
4294967295

Puede establecer el valor shmmax haciendo eco en el archivo /proc en cuestión como se muestra a continuación. El siguiente comando establecerá el tamaño máximo (en términos de bytes) único segmento de memoria se establece en 8388698:

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

De manera similar, puede establecer el tamaño máximo permitido de cualquier mensaje individual en una cola de mensajes System V IPC, en bytes.

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

Puede verificar el parámetro del núcleo actual para el semáforo con el siguiente comando.

# 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

Conclusión

En este tutorial, aprendimos el comando ipcs de Linux para verificar la información de la memoria compartida. Espero que haya disfrutado de la lectura y deje sus sugerencias en la sección de comentarios a continuación.


Linux
  1. Cómo verificar el uso de memoria del proceso con el comando pmap de Linux

  2. Cómo verificar el tamaño de RAM en la línea de comandos de Linux en Gb

  3. Cómo comprobar si un sistema Linux es de 32 o 64 bits

  4. Cómo reiniciar Linux usando la línea de comandos

  5. Cómo verificar el uso de memoria en un servidor basado en Linux

Comando libre de Linux (Comprobar el uso de la memoria)

Cómo verificar la información de la CPU en Linux

Cómo verificar el historial de comandos de Linux por fechas

Cómo ejecutar un comando periódicamente en Linux usando Watch

Cómo comprobar la velocidad de Internet en Linux

¿Cómo comprobar los puertos abiertos en Linux?