J'ai essayé de mesurer le temps d'attente de la file d'attente d'exécution d'un processus sous Linux

Mesurons le temps d'attente de la file d'attente d'exécution du processus SCHED_FIFO lié au processeur démarré par Démarrer le processus en spécifiant la politique de planification sous Linux.

Je me suis référé à la page suivante pour obtenir le temps d'attente de la file d'attente d'exécution. https://yohei-a.hatenablog.jp/entry/20150806/1438869775

Le résultat de l'obtention de / proc / PID / schedstat du processus FIFO lié au processeur après 1 seconde. La deuxième colonne est le temps d'attente de la file d'attente d'exécution. Unité nanosecondes.

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

(De 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

C'est environ 51 millisecondes. Puisque la tranche de temps est 1 dans la 3ème colonne, le changement de contexte ne se produit-il qu'une seule fois? Il semble, juste un processus en temps réel.

Vous trouverez ci-dessous le résultat de l'obtention de / proc / PID / schedstat du processus SCHED_OTHER lié au processeur qui s'exécutait en même temps après 1 seconde.

[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

Environ 958 millisecondes. Vous pouvez voir que le processus SCHED_FIFO était dans la file d'attente d'exécution presque tout le temps qu'il était en cours d'exécution.

Tuez et mesurez le processus de SCHED_OTHER

Lorsque j'ai tué le processus SCHED_OTHER et mesuré le temps d'attente de la file d'attente d'exécution de SCHED_FIFO sans autre processus gourmand en processeur, le résultat était d'environ 50 millisecondes. (Il n'y a pas de résultat de sortie de commande) Cela signifie que le processus SCHED_OTHER yes était en cours d'exécution uniquement lorsque le processus SCHED_FIFO yes n'utilisait pas la CPU.

Recommended Posts

J'ai essayé de mesurer le temps d'attente de la file d'attente d'exécution d'un processus sous Linux
Sous Linux, l'horodatage d'un fichier est un peu dépassé.
Exécutez un serveur Linux avec GCP
Traiter le résultat de% time,% timeit
Créez un environnement Selenium sur Amazon Linux 2 dans les plus brefs délais
Publiez le script shell créé pour réduire les problèmes de création de LiveUSB sous Linux
Exécuter un lot de Python 2.7 avec nohup sur Amazon Linux AMI sur EC2
Une note sur les fonctions de la bibliothèque Linux standard qui gère le temps
J'ai fait GAN avec Keras, donc j'ai fait une vidéo du processus d'apprentissage.
Python: je souhaite mesurer proprement le temps de traitement d'une fonction
J'ai fait un outil pour estimer le temps d'exécution de cron (+ débuts de PyPI)
[Linux] Différence d'informations temporelles en fonction de l'ID d'horloge de la fonction clock_gettime ()
Exécutez yolov4 "pour le moment" dans Windows
[2020July] Vérifiez l'UDID de l'iPad sous Linux
Démarrer un processus avec une politique de planification sous Linux
Calculer la probabilité de valeurs aberrantes sur les moustaches de la boîte
Au moment de la mise à jour de python avec ubuntu
J'ai fait un peu de recherche sur la classe
[Exemple d'amélioration de Python] Apprentissage des bases de Python sur un site gratuit en 2 semaines
Le monde a changé lorsque j'ai ouvert un gros projet Python (Django) sur Sourcetrail (Linux)
Jusqu'à ce que vous exécutiez l'application Flask sur Google App Engine pour le moment
Je souhaite prendre une capture d'écran du site sur Docker en utilisant n'importe quelle police
J'ai essayé Python sur Mac pour la première fois.
Spécifiez le volume sous Linux et jouez le son
Créez un code QR pour l'URL sous Linux
Peut-être ai-je surestimé l'impact de Shell Shock sur CGI
Pour la première fois, j'ai découvert Unix (Linux).
J'ai mesuré les performances d'un million de documents avec mongoDB
Essayez d'installer Arch Linux pour le moment.
Une réflexion sur la visualisation du champ d'application du modèle de prédiction
J'ai essayé d'installer le noyau Linux sur virtualbox + vagrant
Annonce de la disponibilité de Java 11 LTS sur Amazon Linux 2
J'ai essayé de créer un Discord Bot sur Docker qui signale le nombre de personnes infectées par corona à Tokyo à un moment spécifié
"Arrêtez de soumettre des fichiers japonais à git sur Mac> <" Pour le moment, j'ai écrit un script pour rechercher des fichiers japonais incompatibles sur Mac et Linux.
[Démarrage du shell] J'ai essayé d'afficher le shell sur le téléviseur avec un G-cluster à carte Linux bon marché
Éviter les pièges de l'utilisation d'un Mac (pour les utilisateurs Linux?)
Remarque sur le comportement par défaut de collate_fn dans PyTorch
J'ai essayé d'exécuter PIFuHD sur Windows pour le moment
Exécutez un nombre limité de programmes de présentation d'images sur PsychoPy
Je souhaite utiliser uniquement le traitement de normalisation SudachiPy
J'ai fait une fonction pour vérifier le modèle de DCGAN
J'ai fait une image ponctuelle de l'image d'Irasutoya. (partie 1)
J'ai fait un modèle VGG16 en utilisant TensorFlow (en chemin)
Un résumé approximatif des différences entre Windows et Linux
J'ai essayé un peu le comportement de la fonction zip
J'ai fait une image ponctuelle de l'image d'Irasutoya. (partie 2)
Installez la dernière version de Git sur votre serveur Linux
Je veux créer un Dockerfile pour le moment.
Obtenez le nom d'hôte du PC hôte avec Docker sous Linux
Mettre le processus en veille pendant un certain temps (secondes) ou plus en Python
L'histoire de la sortie d'un outil de vérification de texte créé par Python sur GitHub x CircleCI pour la première fois
Une histoire que j'ai eu du mal à afficher des graphiques les uns sur les autres avec matplotlib
Installez JDK sur Linux