2017-06-19 10 views
0

シンプルスクリプトのCPU使用率を確認できますか?pythonスクリプトのCPU使用率

例:CPU使用率を100%印刷する方法「hello world!」 ?あなたはpsutilモジュールが必要になります

time -p python script.py 
+0

so?あなたは何を "時間"あなたにさせて欲しいですか? – Tamar

+0

あなたが探しているのはhttps://stackoverflow.com/questions/15176619/timing-the-cpu-time-of-a-python-programですか? – Artyer

+0

'top' unixコマンドを見ることができます。 –

答えて

0

現在、私はにより、コンソールの実行時間を取得しています。

import psutil 
print(psutil.cpu_percent()) 
+0

ありがとうございます! :) – user7375796

+1

'psutil.cpu_percent'はシステム全体であり、個々のプロセスではありません。現在のスクリプトの場合は、 'current_process = psutil.Process();' 'print(current_process.cpu_percent())'を使います。 – eryksun

1

UNIXマシン上にある場合は、新しいターミナルでtopオープン常に可能性があり、あなたがあなたのpythonプログラムを実行しながら%の使用率を観察します。あるいは、使用できるサードパーティライブラリがいくつかあります。 Benchmark

例([PYパッケージインデックス]から取られた(https://pypi.python.org/pypi/Benchmarker/4.0.1)ソース:

プログラム:

from benchmarker import Benchmarker 

## specify number of loop 
with Benchmarker(1000*1000, width=20) as bench: 
    s1, s2, s3, s4, s5 = "Haruhi", "Mikuru", "Yuki", "Itsuki", "Kyon" 

    @bench(None)    ## empty loop 
    def _(bm): 
     for i in bm: 
      pass 

    @bench("join") 
    def _(bm): 
     for i in bm: 
      sos = ''.join((s1, s2, s3, s4, s5)) 

    @bench("concat") 
    def _(bm): 
     for i in bm: 
      sos = s1 + s2 + s3 + s4 + s5 

    @bench("format") 
    def _(bm): 
     for i in bm: 
      sos = '%s%s%s%s%s' % (s1, s2, s3, s4, s5) 

結果:

$ python example.py -h    # show help 
$ python example.py -o result.json 
## benchmarker:   release 4.0.0 (for python) 
## python version:  3.4.2 
## python compiler:  GCC 4.8.2 
## python platform:  Linux-3.13.0-36-generic-x86_64-with-debian-jessie-sid 
## python executable: /opt/vs/python/3.4.2/bin/python 
## cpu model:   Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz # 2494.050 MHz 
## parameters:   loop=1000000, cycle=1, extra=0 

##      real (total = user + sys) 
(Empty)     0.0236 0.0200 0.0200 0.0000 
join     0.2779 0.2800 0.2800 0.0000 
concat     0.3792 0.3800 0.3800 0.0000 
format     0.4233 0.4300 0.4300 0.0000 

## Ranking    real 
join     0.2779 (100.0) ******************** 
concat     0.3792 (73.3) *************** 
format     0.4233 (65.6) ************* 

## Matrix     real [01] [02] [03] 
[01] join    0.2779 100.0 136.5 152.3 
[02] concat    0.3792 73.3 100.0 111.6 
[03] format    0.4233 65.6 89.6 100.0 
0

一つ

は、ここに一つですあなたができることはtimeitを使用してプログラムの実行と終了の時間の違い。たとえば、

import timeit 
start_time = timeit.default_timer() 
print("Hello World") 
print("Hello World") 
print("Hello World") 
end_time = timeit.default_timer() 
print (end_time - start_time)