私はpythonを使用しています。以下のようなコードがあるとします
たとえば .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()
上記のコードは、テキストファイルからデータを読み取り、データベースに保存し、正常に動作します
コマンドでファイルを実行していますpython path/to/the/example.py
今私がやろうとしているのは、以下の3つの値/情報を見つけてキャプチャすることです
- データを読み取ってデータベースに保存するために
execution time
python script( ) が使用した合計example.py
CPU utilization
Pythonスクリプト(example.py
)が実行(実行)されたときMemory usage
Pythonスクリプト(example.py
)が実行(実行)されたとき
私はすでに多くのグーグル検索を 行い、ここ、ここ、ここでいくつかの情報を見つけました。各説明には異なるアプローチがあり、スクリプトが実行されたときに上記の3つの値をキャプチャする方法についてのアプローチを理解できず、SOで尋ねましたexample.py
上記のニーズに合わせて上記の値に適合/キャプチャする実用的な例(コード)を誰かに提供してください。これにより、さらなるニーズにさらに拡張できます
編集済み
従ったプロセス
1. 実行時間の検索用
以下のコマンドで example.py ファイルを実行します。
python -m cProfile -o file.profile example.py
2. CPU使用率を調べるため
top
example.py の実行後にターミナルでコマンドを実行する
結果:
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
........
........
上記の結果で、どのように/どこで CPU/メモリ使用率の値を見つけることができますか?%CPU %MEM
を含む行から値を取得する必要があるかどうgnome-terminal
か (ターミナルを介してファイルを実行しているためですか?)
Aslotop
は、実行中の合計 CPU 使用率プロセスを見つけるために使用されますが、実行/実行中の example.py スクリプトのみの CPU 使用率を見つける必要があります。 .py)
最後に、Pythonスクリプト(example.py)を実行するときの私の意図は、実行時間、スクリプトの実行に使用されるCPU使用率、スクリプトの実行に使用されるメモリなどの値をどこかに記録/保存する必要があります(テキストファイル)または何か