Ist die Größe der FIFO-Pipe durch den zugewiesenen Speicherplatz im Festplatten-Cache begrenzt?
Unter Linux CentOS 7 verwende ich benannte FIFO-Pipes, die mit mkfifo erstellt wurden, um Daten zwischen Prozesspaaren zu verarbeiten, die auf einem Multiprozessor-Festplattenserver ausgeführt werden (Dell R730xd mit 132 GB RAM und 20 TB RAID-Festplatte).
Um einen Datenpuffer zwischen den beiden Prozessen zu haben, die an eine Pipe angeschlossen sind, stelle ich beim Öffnen der Pipe auch deren Größe auf einen großen Wert (z. B. 128 MB).
Um eine große Rohrgröße zu ermöglichen, musste ich Folgendes einstellen:
/proc/sys/fs/pipe-max-size = 134217728 /proc/sys/fs/pipe-user-pages-soft = 0 (i.e. no limit)
In meinem Code verwende ich dann (Beispiel aus einem Perl-Skript)
fcntl(\*FD, F_SETPIPE_SZ, int($size))
Hin und wieder schlägt die Einstellung der Pipe-Größe mit der Meldung "Speicher kann nicht zugeordnet werden" fehl. Ich habe festgestellt, dass dies passiert, wenn die Festplattenaktivität auf dem Server sehr hoch ist. Beim Betrachten von / proc / meminfo sehe ich, dass der zwischengespeicherte Speicher den Großteil des Speichers meines Servers belegt und nur wenige MB als MemFree übrig lässt. Sobald die Festplattenaktivität nachlässt, nimmt der zwischengespeicherte Speicher langsam ab, und nach einer Weile beginnt der Vorgang der Leitungsgröße wieder zu funktionieren.
Meine Fragen sind:
- Warum kollidiert die Rohrgröße mit dem zwischengespeicherten Speicher? Sollte der zwischengespeicherte Speicher nicht freigegeben werden, sobald jemand ihn benötigt (z. B. habe ich keine Probleme beim Starten neuer Prozesse)?
- Wie kann ich die maximale Speichermenge beschränken, die für das Zwischenspeichern von Festplatten reserviert werden kann? Ich denke, dass die Beschränkung auf 100 GB statt 132 GB keinen großen Einfluss auf die Festplattenleistung haben sollte, und dies würde viel Speicher für meine Pipes übrig lassen ...
Vielen Dank im Voraus für jede Hilfe.
0 Antworten auf die Frage
Verwandte Probleme
-
9
Was ist der Unterschied zwischen den Befehlen "su -s" und "sudo -s"?
-
4
Gutes freies Ubuntu Server-VMWare-Image benötigt
-
4
Was sind die Unterschiede zwischen den großen Linux-Distributionen? Werde ich es merken
-
2
Begrenzung der CPU-Auslastung für Flash in Firefox?
-
2
Wie kann ich mein Mikrofon unter Debian GNOME zum Laufen bringen?
-
2
Conky-Setups - Beispiele / Ideen?
-
3
Was sind die Unterschiede zwischen Linux Window Managern?
-
2
ThunderBird / Lichtsynchronisation mit SE k770i
-
6
Muss ich 3 RAM-DIMMs haben, um DDR3 verwenden zu können, oder sogar eine 3-Kanal-CPU betreiben könne...
-
4
Linux-Dateisystem