De forma predeterminada, cada proceso que se ejecuta en el sistema Linux tiene sus propias páginas de memoria privada. Un proceso no puede acceder a las páginas de memoria que está utilizando otro proceso. El núcleo mantiene sus propias áreas de memoria. Por motivos de seguridad, ningún proceso puede acceder a la memoria utilizada por los procesos del núcleo. Para facilitar el intercambio de datos, puede crear páginas de memoria compartida. Múltiples procesos pueden leer y escribir hacia y desde un área de memoria compartida común. El núcleo mantiene y administra las áreas de memoria compartida y permite que los procesos individuales accedan al área compartida.
El comando ipcs imprime un informe sobre las colas de mensajes de comunicación entre procesos (IPC), segmentos de memoria compartida y matrices de semáforos para los que el proceso actual tiene acceso de lectura. Las opciones se pueden usar para especificar el tipo de recursos sobre los que informar y el formato de salida del informe. El comando ipcs le permite ver las páginas de memoria compartida actuales en el sistema. Este es el resultado de un comando ipcs de muestra:
# ipcs -m ------ Shared Memory Segments -------- key shmid owner perms bytes nattch status 0x00000000 0 rich 600 52228 6 dest 0x395ec51c 1 oracle 640 5787648 6
Cada segmento de memoria compartida tiene un propietario que creó el segmento. Cada segmento también tiene una configuración de permisos de Linux estándar que establece la disponibilidad del segmento para otros usuarios. El valor de la clave se utiliza para permitir que otros usuarios obtengan acceso al segmento de memoria compartida.
Ejemplos de comandos ipcs
1. Para ver el segmento de memoria compartida:
# ipcs -m
2. Para ver la cola de mensajes:
# ipcs -q
3. Para ver las matrices de semáforos:
# ipcs -s
4. Para ver todo:
# ipcs -a
5. Para tener el formato de salida:
# ipcs -t time -p pid -c creator -l limits -u summary