Ich schreibe ein Java-Programm. Wenn sich die Laufzeit oder die Anzahl der Threads, die durch diesen Prozess erstellt werden, erhöht, wird sich dies auf das gesamte CPU-Dienstprogramm auswirken.Von welchen Faktoren hängt das CPU-Dienstprogramm ab?
Antwort
Ich nehme an, dass Sie ein Programm ausführen, das eine festgelegte Menge an Arbeit ausführt und dass die Arbeit CPU-gebunden ist, die auf einem Prozessor mit nur einem Kern ausgeführt wird.
Wenn Ihre Anwendung eine Parallelität aufweist, die von Multi-Threading ausgenutzt werden kann, erhöht die intelligente Verwendung mehrerer Threads die CPU-Auslastung und verringert somit die Ausführungszeit. Wenn der parallele Bereich Ihres Tasks beispielsweise in A Sekunden mit einer Auslastung von 10% über dem Leerlauf ausgeführt wird und 5 Threads unterstützt, beträgt die Ausführungszeit A/5 Sekunden und die CPU-Auslastung erhöht sich um den Faktor 5 oder 50%. Ich nehme eine CPU-gebundene Aufgabe an. Bei einer blockierenden Task kann sich die Ausführungszeit verringern, ohne die CPU-Auslastung zu beeinträchtigen.
Wenn Ihre Aufgabe die Parallelität nicht ausnutzen kann, gibt es eine gewisse Erhöhung der CPU-Auslastung aufgrund unnötigen Thread-Overheads.
Es gibt andere Probleme, die sich auf die CPU-Auslastung auswirken können, z. B. die Belastung der CPU vor der Ausführung der Anwendung. Wenn es bereits hoch ist, kann Multithreading eine Menge Thrashing verursachen. Wenn Ihre parallelen Chunks zu kurz sind, wird zusätzlich die Thread-Erstellung und der Overhead für die Erstellung von Threads geändert.
Auch bei der gleichen Aufgabe A, die parallelisiert werden kann, erhöht die Serialisierung die Gesamtlaufzeit und verringert die CPU-Auslastung.
Beachten Sie, dass in den oben genannten Fällen die Gesamtleistung konstant ist.
- 1. Von welchen Modulen hängt mod_rewrite ab?
- 2. Auf welche Faktoren hängt die Downloadgeschwindigkeit von Assets von Amazon S3 ab?
- 3. Das Ausführen von Java-Scheduler hängt von der Uhrzeit ab
- 4. Warum hängt GCC-Windows von Cygwin ab?
- 5. GUI hängt von Sprache und Plattform ab?
- 6. Django - Standardfeldwert hängt von anderem Feldwert ab
- 7. Apps von Konsole runed hängt davon ab
- 8. Tesorflow-Platzhalter hängt von anderem Platzhalter ab
- 9. Definieren Arbeitsblattname hängt von Variable ab
- 10. Karma hängt bei Karma ab
- 11. React Loader Das Problem hängt vom Verzeichnis ab?
- 12. QPainter, verhindern das Hinzufügen von Alpha-Faktoren
- 13. Wie hängt man Tabellenzeilen an, hängt vom ausgewählten Wert ab?
- 14. Decimal.GetHashCode hängt davon ab Rollier Zeros
- 15. Programmierung in c hängt vom Betriebssystem ab
- 16. jQueryValidate - Erforderliches Feld - hängt nicht ab
- 17. Wie hängt Typescript die Typdefinition für das, was wir importieren, mit der entsprechenden Implementierung ab?
- 18. JQuery-Validierungsregel hängt von einer anderen Regel ab
- 19. Das Zählen eines Objekts hängt von einer Spalte statt von der Tabelle ab SQL
- 20. Package Manager Console hängt von Abhängigkeiten ab SignalR
- 21. Unterschiedliches Verhalten hängt von der Ausnahme in der Datenbank ab
- 22. Anzahl der Spalte hängt von Monat ab sqlite
- 23. Make toPrimitive Konvertierung hängt vom Kontext ab
- 24. Anwendung stürzt ab oder hängt aufgrund der Einstellung von openTimeOut
- 25. PowerShell obligatorischer Parameter hängt von anderem Parameter ab
- 26. Array-Speicherzuordnung in C hängt von der Namenskonvention ab?
- 27. ListCell-Höhe hängt von der TextFlow-Größe ab
- 28. jquery bind Ereignis hängt von der Situation ab
- 29. Looping <td> hängt von rowCount innerhalb ab, während
- 30. Facebook graph api Suchergebnisse hängt von der Position ab?