Die SHR- Spalte stellt einfach die Menge des gemeinsam genutzten Speichers dar, die vom Prozess verwendet wird. Es kann für die Kommunikation zwischen Prozessen verwendet werden, aber ein häufigeres Szenario ist, dass dies Speicher ist, der von gemeinsam genutzten Bibliotheken verwendet wird, in die eine Anwendung eine Verknüpfung erstellt hat.
Vom Linux-Kernel: Speicherverwaltung :
Gemeinsamer virtueller Speicher
Obwohl es im virtuellen Speicher möglich ist, dass Prozesse über separate (virtuelle) Adressräume verfügen, kann es vorkommen, dass Prozesse zum Teilen des Speichers erforderlich sind. Beispielsweise könnte es mehrere Prozesse im System geben, auf denen die Bash-Befehlsshell ausgeführt wird. Anstatt mehrere Kopien von Bash zu haben, eine in jedem virtuellen Adressraum, ist es besser, nur eine Kopie im physischen Speicher zu haben, und alle Prozesse, die Bash ausführen, teilen sich diese. Dynamische Bibliotheken sind ein weiteres allgemeines Beispiel für die Ausführung von Code, der von mehreren Prozessen gemeinsam genutzt wird.
Shared Memory kann auch als Inter Process Communication (IPC) -Mechanismus verwendet werden, wobei zwei oder mehr Prozesse Informationen über einen gemeinsamen Speicher austauschen. Linux unterstützt den Unix TM System V Shared Memory IPC.
Was die Top- Manpage über diese Kolumne sagt:
t: SHR -- Shared Mem size (kb) The amount of shared memory used by a task. It simply reflects mem‐ ory that could be potentially shared with other processes.