Ich muss den Prozess in Echtzeit so viel wie möglich laufen lassen.Verhindern kleinere Seitenfehler in Echtzeit-Prozess unter Linux
Die gesamte Kommunikation erfolgt über Shared Memory - Memory Mapped Files - überhaupt keine Systemaufrufe - es verwendet Busy, das auf Shared Memory wartet.
Der Prozess läuft unter Echtzeit-Priorität und alle Speicher mit mlockall(MCL_CURRENT|MCL_FUTURE)
verriegelt ist, die erfolgreich und Verfahren hat genug ulimits
haben alle der Speicher verriegelt.
Wenn ich es auf es perf stat -p PID
laufen lasse, erhalte ich noch Zählungen von kleineren Seitenfehlern.
Ich testete dies sowohl mit Prozessaffinität als auch ohne.
Frage:
Ist es möglich, sie überhaupt zu beseitigen - auch kleinere Seitenfehler?
Ich spreche über kleinere Seite Fehler, die durch TLB verursacht wird vermisst – Artyom
TLB Miss ist Hardware-behandelt in den meisten modernen CPU. Es sollte für OS unsichtbar sein; Verlangsamung einiger Speicherzugriffe und Erhöhung des Hardwareleistungsüberwachungszählers (DTLB_LOAD_MISSES.ANY in Intel). – osgx
Wie kann ich den kleineren Seitenfehler reduzieren? Ich habe zwar viel Speicher, bin aber immer noch von dem kleinen Seitenfehlerproblem betroffen, das die CPU-Auslastung zu stark für andere Aufgaben macht –