Je soupçonne qu'une de mes applications consomme plus de cycles CPU que je ne le souhaite. Le problème est que cela se produit par rafales, et le simple fait de regarder le gestionnaire de tâches ne m'aide pas car il montre uniquement l'utilisation immédiate.
Existe-t-il un moyen (sous Windows) de suivre l'historique de l'utilisation du processeur et de la mémoire pour certains processus. Par exemple, je vais commencer à suivre "firefox", et après environ une heure, je verrai un graphique de son utilisation du processeur et de la mémoire pendant cette heure.
Je recherche un outil prêt à l'emploi ou un moyen programmatique pour y parvenir.
la source
Process Explorer peut afficher le temps CPU total pris par un processus, ainsi qu'un graphique d'historique par processus.
la source
En utilisant perfmon.exe, j'ai essayé d'utiliser le compteur "Private Bytes" sous les compteurs "Process" pour suivre l'utilisation de la mémoire et cela fonctionne bien.
la source
peut-être que vous pouvez l'utiliser. Cela devrait fonctionner pour vous et rapportera le temps processeur pour le processus spécifié.
la source
Je suis d'accord, perfmon.exe vous permet d'ajouter des compteurs (clic droit sur le panneau de droite) pour tout processus que vous souhaitez surveiller.
Objet de performance: Vérifiez le processus "Sélectionnez les instances dans la liste" et sélectionnez Firefox.
la source
WMI est Windows Management Instrumentation, et il est intégré à toutes les versions récentes de Windows. Il vous permet de suivre par programme des éléments tels que l'utilisation du processeur, les E / S disque et l'utilisation de la mémoire.
Perfmon.exe est une interface graphique pour cette interface et peut surveiller un processus, écrire des informations dans un journal et vous permettre d'analyser le journal après coup. Ce n'est pas le programme le plus élégant au monde, mais il fait le travail.
la source
Process Lasso est davantage conçu pour l'automatisation des processus et l'optimisation des classes de priorité, pas pour les graphiques. Cela dit, il fait l' utilisation du processeur offre par processus historique (comme une ligne tracée blanche sur le graphique) , mais il ne pas offrir l' histoire de l' utilisation de la mémoire par processus.
AVERTISSEMENT: Je suis l'auteur de Process Lasso, mais je ne l'approuve pas réellement ici - car il existe de meilleures solutions (perfmon étant la meilleure).
La meilleure chose qui soit est Windows Vista + Resource and Performance Monitor. Il peut suivre l'utilisation des accès au processeur, à la mémoire, au réseau et au disque par les processus au fil du temps. C'est un excellent utilitaire d'information système global qui aurait dû être créé il y a longtemps. Sauf erreur de ma part, il peut suivre l'utilisation du processeur et de la mémoire par processus au fil du temps (parmi les autres éléments répertoriés).
la source
Vous pouvez également essayer d'utiliser un script C # / Perl / Java pour obtenir les données d'utilisation à l'aide des commandes WMI, et voici les étapes à suivre.
Nous devons exécuter 2 requêtes de sélection WMI et appliquer la formule d'utilisation du% du processeur
1. Pour récupérer le nombre total de processus logiques
2. Pour récupérer les valeurs de PercentProcessorTime, TimeStamp_Sys100NS (la formule d'utilisation du processeur a été appliquée, obtenez le pourcentage d'utilisation réel) et WorkingSetPrivate (RAM) au moins 2 fois avec un intervalle de veille de 1 seconde
3. Appliquer la formule d'utilisation du pourcentage du processeur
p2 indique PercentProcessorTime récupéré pour la deuxième fois, et p1 indique PercentProcessorTime récupéré pour la première fois, t2 et t1 est pour TimeStamp_Sys100NS.
Un exemple de code Perl pour cela peut être trouvé dans le lien http://www.craftedforeveryone.com/cpu-and-ram-utilization-of-an-application-using-perl-via-wmi/
Cette logique s'applique à tous les langages de programmation prenant en charge les requêtes WMI
la source
Bien que je n'ai pas essayé cela, ProcDump semble être une meilleure solution.
Description du site:
la source
Hmm, je vois que Process Explorer peut le faire, bien que ses graphiques ne soient pas trop pratiques. Toujours à la recherche de moyens alternatifs / meilleurs pour le faire.
la source
Perfmon.exe est intégré à Windows.
la source
Vous voudrez peut-être jeter un œil à Process Lasso .
la source
Sous Windows 10, le Gestionnaire des tâches peut vous montrer les heures de processeur cumulées. Dirigez-vous simplement vers l'onglet "Historique des applications" et "Supprimer l'historique d'utilisation". Maintenant, laissez les choses fonctionner pendant une heure ou deux:
Ce que cela ne fait PAS, c'est répartir l'utilisation dans les navigateurs par onglet. Les onglets assez souvent inactifs feront un travail énorme, chaque onglet ouvert utilisant de l'énergie et ralentissant votre PC.
la source
Il était nécessaire d'obtenir l'état et l'utilisation du processeur / mémoire de certains serveurs Windows spécifiques. J'ai utilisé le script ci-dessous:
Ceci est un exemple de service de recherche Windows.
la source
J'utilise taskinfo pour le graphique historique de la vitesse CPU / RAM / IO. http://www.iarsn.com/taskinfo.html
Mais les rafales de non-réponse ressemblent plus à un temps d'interruption dû à un lecteur HD / SS falty.
la source