Ich habe versucht, die Wartezeit der Ausführungswarteschlange eines Prozesses unter Linux zu messen

Messen wir die Wartezeit der Ausführungswarteschlange des CPU-gebundenen SCHED_FIFO-Prozesses, der von [Prozess durch Angabe der Planungsrichtlinie unter Linux starten] gestartet wurde (https://qiita.com/yamato_karino/items/892443eabf1a84192849).

Ich habe auf die folgende Seite verwiesen, um die Wartezeit für die Warteschlange auszuführen. https://yohei-a.hatenablog.jp/entry/20150806/1438869775

Das Ergebnis des Abrufens von / proc / PID / schedstat des CPU-gebundenen FIFO-Prozesses nach 1 Sekunde. Die zweite Spalte enthält die Wartezeit für die Warteschlange. Einheit Nanosekunden.

  1. time spent on the cpu
  2. time spent waiting on a runqueue
  3. of timeslices run on this cpu

(Von https://www.kernel.org/doc/html/latest/scheduler/sched-stats.html)

[ec2-user@ip-172-21-0-185 ~]$ sudo cat /proc/27629/schedstat ; sleep 1; sudo cat /proc/27629/schedstat
1585551572096 83397623426 1669
1586504089039 83449107507 1670

Es sind ungefähr 51 Millisekunden. Tritt der Kontextwechsel nur einmal auf, da die Zeitscheibe in der 3. Spalte 1 ist? Es scheint nur ein Echtzeitprozess zu sein.

Unten sehen Sie das Ergebnis des Abrufens von / proc / PID / schedstat des CPU-gebundenen SCHED_OTHER-Prozesses, der nach 1 Sekunde gleichzeitig ausgeführt wurde.

[ec2-user@ip-172-21-0-185 ~]$ sudo cat /proc/28585/schedstat ; sleep 1; sudo cat /proc/28585/schedstat
28229659566 570788962732 8601
28291651447 571746971282 8620

Über 958 Millisekunden. Sie können sehen, dass sich der SCHED_FIFO-Prozess fast die ganze Zeit in der Run-Warteschlange befand.

Töte und messe den Prozess von SCHED_OTHER

Als ich den SCHED_OTHER-Prozess abbrach und die Wartezeit der Ausführungswarteschlange von SCHED_FIFO ohne einen anderen CPU-intensiven Prozess maß, betrug das Ergebnis etwa 50 Millisekunden. (Es gibt kein Ergebnis der Befehlsausgabe) Das bedeutet, dass der Prozess SCHED_OTHER yes nur ausgeführt wurde, wenn der Prozess SCHED_FIFO yes die CPU nicht verwendete.

Recommended Posts

Ich habe versucht, die Wartezeit der Ausführungswarteschlange eines Prozesses unter Linux zu messen
Unter Linux ist der Zeitstempel einer Datei etwas vorbei.
Führen Sie einen Linux-Server mit GCP aus
Verarbeiten Sie das Ergebnis von% time,% timeit
Erstellen Sie in kürzester Zeit eine Selenium-Umgebung unter Amazon Linux 2
Veröffentlichen Sie das erstellte Shell-Skript, um die Probleme beim Erstellen von LiveUSB unter Linux zu verringern
Führen Sie einen Stapel Python 2.7 mit nohup unter Amazon Linux AMI unter EC2 aus
Ein Hinweis zu den Funktionen der Standard-Linux-Bibliothek, die sich mit Zeit befasst
Ich habe GAN mit Keras gemacht, also habe ich ein Video des Lernprozesses gemacht.
Python: Ich möchte die Verarbeitungszeit einer Funktion genau messen
Ich habe ein Tool erstellt, um die Ausführungszeit von cron zu schätzen (+ PyPI-Debüt)
[Linux] Unterschied in den Zeitinformationen in Abhängigkeit von der Uhr-ID der Funktion clock_gettime ()
Führen Sie yolov4 "vorerst" in Windows aus
[2020Juli] Überprüfen Sie die UDID des iPad unter Linux
Starten Sie einen Prozess mit einer Planungsrichtlinie unter Linux
Berechnen Sie die Wahrscheinlichkeit von Ausreißern auf den Box-Whiskern
Zum Zeitpunkt des Python-Updates mit Ubuntu
Ich habe ein wenig über die Klasse recherchiert
[Beispiel für eine Python-Verbesserung] In 2 Wochen wurden die Grundlagen von Python auf einer kostenlosen Website erlernt
Die Welt veränderte sich, als ich ein großes Python-Projekt (Django) auf Sourcetrail (Linux) eröffnete.
Bis Sie die Flask-Anwendung vorerst in Google App Engine ausführen
Ich möchte einen Screenshot der Site in Docker mit einer beliebigen Schriftart erstellen
Ich habe Python zum ersten Mal auf dem Mac ausprobiert.
Geben Sie die Lautstärke unter Linux an und spielen Sie den Sound ab
Erstellen Sie unter Linux einen QR-Code für die URL
Vielleicht habe ich die Auswirkungen von Shell Shock auf CGI überschätzt
Zum ersten Mal habe ich etwas über Unix (Linux) gelernt.
Ich habe die Leistung von 1 Million Dokumenten mit mongoDB gemessen
Versuchen Sie vorerst, Arch Linux zu installieren.
Eine Überlegung zur Visualisierung des Anwendungsbereichs des Vorhersagemodells
Ich habe versucht, den Linux-Kernel auf virtualbox + vagrant zu installieren
Ankündigung der Verfügbarkeit von Java 11 LTS unter Amazon Linux 2
"Stoppen Sie das Festschreiben japanischer Dateien für Git auf Mac> <" Vorerst habe ich ein Skript geschrieben, um nach inkompatiblen japanischen Dateien unter Mac und Linux zu suchen.
[Shell-Start] Ich habe versucht, die Shell mit einem billigen Linux-Board-G-Cluster auf dem Fernseher anzuzeigen
Vermeiden Sie die Fallstricke bei der Verwendung eines Mac (für Linux-Benutzer?)
Hinweis zum Standardverhalten von collate_fn in PyTorch
Ich habe vorerst versucht, PIFuHD unter Windows auszuführen
Führen Sie eine begrenzte Anzahl von Bildpräsentationsprogrammen auf PsychoPy aus
Ich möchte nur die SudachiPy-Normalisierungsverarbeitung verwenden
Ich habe eine Funktion erstellt, um das Modell von DCGAN zu überprüfen
Ich habe ein Punktbild des Bildes von Irasutoya gemacht. (Teil 1)
Ich habe ein VGG16-Modell mit TensorFlow gemacht (unterwegs)
Eine grobe Zusammenfassung der Unterschiede zwischen Windows und Linux
Ich habe ein wenig versucht, das Verhalten der Zip-Funktion
Ich habe ein Punktbild des Bildes von Irasutoya gemacht. (Teil 2)
Installieren Sie die neueste Version von Git auf Ihrem Linux-Server
Ich möchte vorerst eine Docker-Datei erstellen.
Rufen Sie den Hostnamen des Host-PCs mit Docker unter Linux ab
Schlafverarbeitung für einen bestimmten Zeitraum (Sekunden) oder länger in Python
Zum ersten Mal veröffentlichte GitHub x Circle CI ein Textüberprüfungstool von Python
Eine Geschichte, bei der es mir schwer fiel, Grafiken mit matplotlib anzuzeigen
Installieren Sie JDK unter Linux