Conclusion l'Utilisation de la Mémoire, l'utilisation du PROCESSEUR, temps d'Exécution pour l'exécution d'un script python
Je suis à l'aide de python, et supposons que j'ai eu un peu de code comme ci-dessous
example.py
import os, psutil
import MySQLdb as mdb
conn = mdb.connect(user='root', passwd='redhat', db='File_Data', host='localhost', charset="utf8")
file_path = "/home/local/user/Module/File_processing/part-file.txt"
p = psutil.Process(os.getpid())
cursor = conn.cursor()
for line in file_open:
result = line.split('\t')
query = "insert into PerformaceReport (campaignID, keywordID, keyword, avgPosition)"
query += " VALUES (%s,%s,'%s',%s)%(result[0],result[1],result[2],result[3])"
cursor.execute( query )
conn.commit()
print p.get_cpu_times()
print p.get_memory_percent()
Le code ci-dessus lit les données depuis un fichier texte et enregistre dans la base de données et sa fonctionne bien
J'exécute le fichier avec la commande python path/to/the/example.py
Maintenant, ce que je suis en train de faire est de trouver le/la capture ci-dessous trois valeurs/informations
- Le total
execution time
prises par le script python(example.py
) pour lire et enregistre les données dans la base de données CPU utilization
lorsque le script python (example.py
) (exécuté)Memory usage
lorsque le script python (example.py
) (exécuté)
J'ai déjà googlé beaucoup et quelques informations ici, ici et ici, chaque explication est différente approche, et je suis vraiment confus et incapable de comprendre la démarche sur la capture ci-dessus trois valeurs lorsque le script example.py
a exécuter alors demandé dans la
Quelqu'un peut-il me montrer un exemple de travail(le code) qui convient/capture les valeurs ci-dessus pour mon besoin je l'ai mentionné ci-dessus, afin que je puisse prolonger davantage à mes besoins supplémentaires
Édité
Processus De Suivi
1 . Pour trouver le temps d'exécution
Exécuter l'example.py fichier avec la commande ci-dessous
python -m cProfile -o file.profile example.py
2 . Pour trouver de l'Utilisation de l'UC
De l'exécution de la top
commande dans un terminal après l'example.py a fini
Résultat:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1354 root 20 0 138m 17m 7200 S 2.0 0.6 2:40.50 Xorg
2672 shivakri 20 0 581m 19m 12m S 1.3 0.6 0:07.60 gnome-terminal
2587 shivakri 20 0 987m 168m 33m S 1.0 5.6 5:25.26 firefox
2780 shivakri 20 0 1233m 51m 16m S 1.0 1.7 0:16.51 gedit
2163 shivakri 20 0 821m 135m 43m S 0.7 4.5 4:58.74 chrome
1938 shivakri 20 0 567m 15m 11m S 0.3 0.5 0:06.64 metacity
........
........
Maintenant dans le résultat ci-dessus, comment/où puis-je trouver le CPU/Mémoire d'utilisation des valeurs, que j'ai besoin de prendre les valeurs %CPU %MEM
de la ligne qui contient gnome-terminal
? (Parce que nous sommes d'exécuter le fichier par le biais d'un terminal ?)
Aslo top
est utilisée pour la détermination totale de l'utilisation de l'uc processus en cours d'exécution, mais nous avons besoin de trouver de l'utilisation du processeur pour seulement example.py script lorsqu'il est exécuté, de course, je veux dire combien de CPU, de la Mémoire est utilisée lorsque nous exécutez le fichier(example.py)
Enfin mon intention, c'est quand je lance le script python (example.py les valeurs telles que le temps d'exécution,l'utilisation de l'UC pris pour l'exécution de ce script,et la Mémoire utilisée pour l'exécution de ce script doit être enregistrés ou stockés quelque part(Dans un fichier texte) ou quelque chose de
ouais je l'avais vu et essayé comme 1. "python -m cProfile example.py" puis j'ai eu le temps d'exécution seulement, aussi j'ai essayé comme "python -m cProfile -o OpenGLContext.profil example.py" et "python runsnake.py OpenGLContext.profil", de sorte que sa montre également que les temps d'exécution
désolé pour ce que u peut me donner un exemple sur la façon de mettre en œuvre ?
RunSnakeRun est seulement pour les CPU de profilage. Meliae est pour le profilage de la mémoire. Et si vous êtes sur un *NIX système,
top
vous donnera CPU profilageouais mais j'ai besoin de toutes ces infos, quand je lance le script python example.py , comment le trouver ?
OriginalL'auteur Shiva Krishna Bavandla | 2012-11-22
Vous devez vous connecter pour publier un commentaire.
Pour le temps de profilage
cd
dans le dossier qui contientexample.py
(appelons cetteexampledir
).python -m cProfile -o example.profile example.py
cd
dans le répertoire où vous avez décompressé RunSnakepython runsnake.py exampledir/example.profile
Pour le CPU Profilage
psutil
psutil.Process
avecmyProcess = psutil.Process(os.getpid())
myProcess.get_memory_info()
oumyProcess.get_ext_memory_info()
oumyProcess.get_memory_percent()
comme l'exigePour le profilage de la mémoire
easy_install
oupip
example.py
:runsnakemem fpath
, oùfpath
est le chemin vers le fichier que vous avez utilisé dans le code ci-dessus.Cela devrait vous obtenez une mémoire visuelle profiler similaire à Ce que vous avez obtenu avec RunSnakeRun.
Espère que cette aide
Je voudrais que google erreur. Je n'ai jamais fait face à d'erreur avant
j'ai également modifié certaines parties du code, s'il vous plaît avoir alook....
exécuter
top
TOUTexample.py
cours pas après la fin de son exécution; la recherche de lapython
processustop
k nous avons besoin de prendre la ligne qui contient gnome-terminal de droit? et est-il un moyen pour l'enregistrement dans un fichier, parce que quand nous exécuter la commande top,le processus ne sera pas quitter jusqu'à ce que nous avons appuyez sur ctrl-c ou q, j'ai essayé de l'enregistrer comme "le top > some_file.txt" mais le fichier est en permanence l'évolution(traitement).... Mon but est d'enregistrer ces valeurs lorsque le script python exécute
OriginalL'auteur inspectorG4dget