Es gibt keinen einzigen Prozentsatz des Systemaufwands, der für Benutzerprogramme allgemein eine gute Leistung garantiert. Das akzeptable Overhead hängt stark von mehreren Faktoren ab:
* Die Anforderungen des Benutzerprogramms: Ein rechenintensives Programm kann einen höheren Overhead tolerieren als eine Echtzeitanwendung mit strengen Latenzbeschränkungen. Ein Spiel, das schnelle Bildraten erfordert, ist viel empfindlicher gegenüber Overhead als ein Stapelverarbeitungsjob.
* Die Hardware -Ressourcen: Ein System mit reichlich CPU, Speicher und E/A-Kapazität kann einen höheren Overhead als ein ressourcenbezogenes System verarbeiten.
* Die Art des Overheads: Overhead aus der Speicherverwaltung ist möglicherweise weniger spürbar als der Overhead von Disk I/A, insbesondere für Programme, die I/O-gebunden sind. Der Kontextschaltaufwand kann in Multithread -Umgebungen von Bedeutung sein.
* Die Definition von "schlechter Leistung": Was "schlechte Leistung" ausmacht, ist subjektiv und hängt von den Erwartungen des Benutzers ab.
Anstelle eines Prozentsatzes besteht ein besserer Ansatz darin, die Metriken der Systemleistung (CPU -Nutzung, Speicherverbrauch, Festplatten -I/A, Netzwerklatenz usw.) zu überwachen und Engpässe zu identifizieren. Wenn diese Metriken darauf hinweisen, dass sich das Systemaufwand erheblich auf die Leistung von Benutzerprogrammen auswirkt, ist eine Aktion erforderlich (z. B. Optimierung des Systems, Upgrade von Hardware oder Verbesserung der Effizienz des Programms).
Zusammenfassend gibt es keine magische Nummer. Konzentrieren Sie sich auf * Überwachung * und * analysieren * Leistung anstatt einen willkürlichen Prozentsatz des Overheads anzustreben.