當前位置:首頁 » 編程語言 » pythoncpu佔用

pythoncpu佔用

發布時間: 2022-10-10 11:22:46

A. python 怎麼獲得cpu使用率

python獲取代碼:

#!/usr/bin/python

#-*-coding:utf8-*-
__author__='chenwx'

defcpu_rate():
importtime
defcpu_r():
f=open("/proc/stat","r")
forf_lineinf:
break
f.close()
f_line=f_line.split("")
f_line_a=[]
foriinf_line:
ifi.isdigit():
i=int(i)
f_line_a.append(i)
total=sum(f_line_a)
idle=f_line_a[3]
returntotal,idle

total_a,idle_a=cpu_r()
time.sleep(2)
total_b,idle_b=cpu_r()

sys_idle=idle_b-idle_a
sys_total=total_b-total_a
sys_us=sys_total-sys_idle

cpu_a=(float(sys_us)/sys_total)*100
returncpu_a

#printcpu_rate()

B. 7種檢測Python程序運行時間、CPU和內存佔用的方法

1. 使用裝飾器來衡量函數執行時間

有一個簡單方法,那就是定義一個裝飾器來測量函數的執行時間,並輸出結果:

import time

from functoolsimport wraps

import random

def fn_timer(function):

  @wraps(function)

  def function_timer(*args, **kwargs):

      t0= time.time()

      result= function(*args, **kwargs)

      t1= time.time()

      print("Total time running %s: %s seconds" %

          (function.__name__, str(t1- t0))

)

      return result

return function_timer

@fn_timer

def random_sort(n):

  return sorted([random.random() for i in range(n)])

if __name__== "__main__":

  random_sort(2000000)

輸出:Total time running random_sort: 0.6598007678985596 seconds

使用方式的話,就是在要監控的函數定義上面加上 @fn_timer 就行了

或者

# 可監控程序運行時間

import time

import random

def clock(func):

    def wrapper(*args, **kwargs):

        start_time= time.time()

        result= func(*args, **kwargs)

        end_time= time.time()

        print("共耗時: %s秒" % round(end_time- start_time, 5))

        return result

return wrapper

@clock

def random_sort(n):

  return sorted([random.random() for i in range(n)])

if __name__== "__main__":

  random_sort(2000000)

輸出結果:共耗時: 0.65634秒

2. 使用timeit模塊

另一種方法是使用timeit模塊,用來計算平均時間消耗。

執行下面的腳本可以運行該模塊。

這里的timing_functions是Python腳本文件名稱。

在輸出的末尾,可以看到以下結果:4 loops, best of 5: 2.08 sec per loop

這表示測試了4次,平均每次測試重復5次,最好的測試結果是2.08秒。

如果不指定測試或重復次數,默認值為10次測試,每次重復5次。

3. 使用Unix系統中的time命令

然而,裝飾器和timeit都是基於Python的。在外部環境測試Python時,unix time實用工具就非常有用。

運行time實用工具:

輸出結果為:

Total time running random_sort: 1.3931210041 seconds

real 1.49

user 1.40

sys 0.08

第一行來自預定義的裝飾器,其他三行為:

    real表示的是執行腳本的總時間

    user表示的是執行腳本消耗的CPU時間。

    sys表示的是執行內核函數消耗的時間。

注意:根據維基網路的定義,內核是一個計算機程序,用來管理軟體的輸入輸出,並將其翻譯成CPU和其他計算機中的電子設備能夠執行的數據處理指令。

因此,Real執行時間和User+Sys執行時間的差就是消耗在輸入/輸出和系統執行其他任務時消耗的時間。

4. 使用cProfile模塊

5. 使用line_profiler模塊

6. 使用memory_profiler模塊

7. 使用guppy包

C. 降低python死循環佔cpu

在此情況下可以降CPU:反復循環,但並非每次都要輸出,只是每次監測一下
如果符合此條件,可以在代碼第一行加上import time,在死循環內加上time.sleep(1)
這個1就是代表秒數,這里指循環每秒進行一次,在此期間Python不會佔用大量CPU。我試過,0.1以上效果就很好了。

D. 降低python死循環佔cpu

如果您使用的是linux / unix平台,則可以使用nice來降低進程的優先順序.
這只有在最大化的cpu時才有用.例如,如果您正在等待磁碟/交換I / O,那麼真的無濟於事.
NICE(1) User Commands NICE(1)
NAME
nice - run a program with modified scheling priority
SYNOPSIS
nice [OPTION] [COMMAND [ARG]...]
DESCRIPTION
Run COMMAND with an adjusted niceness, which affects process schel‐
ing. With no COMMAND, print the current niceness. Nicenesses range
from -20 (most favorable scheling) to 19 (least favorable).
對於Windows,請嘗試the START command

E. 運行python 的時候為什麼出現了 cpu 使用超過 100%的情況

意思是有python進程沒有結束,IDLE無法啟動
打開任務管理器,找到pythonw.exe進程,結束掉就好了
還是不行的話,這樣:
那你啟動IDLE的時候加一個-n的參數,可以不啟動subprocess
例如這樣:
C:\Python26\Lib\idlelib>idle.bat -n
就可以了
你試試看你的python,都有個idle.bat文件

F. ubuntu 下,python 佔用cpu資源超大,經常100%

Ubuntu10.10 下解決Python CPU佔用100%的方法 收藏

在Ubuntu10.10中,python-ibus中存在問題,這個是10.10中的python有bug。

是由於使用輸入法過程中點擊了設置屬性頁所引起的,注銷一下再登錄桌面就好了。

徹底的解決辦法是添加更新此源:ppa:karl-qdh/ppa

view plain to clipboardprint?

1. sudo add-apt-repository ppa:karl-qdh/ppa
2. sudo apt-get update
3. sudo apt-get upgrade

G. python運行時佔用cpu太少

如果CPU性能好,運行時佔用當然少,如果CPU換成性能差的CPU,佔用就會高了。

H. python怎麼把cpu占滿

如果是這種情況,那可能是他的一個系統占的內存比較多,所以說一定要記得清理一下,到這個CPU就行。

熱點內容
詛咒密碼的第二塊碎片維內拉圖斯在哪裡 發布:2024-12-22 00:57:13 瀏覽:900
雲存儲伺服器管理系統 發布:2024-12-22 00:44:11 瀏覽:474
安卓系統推薦廣告怎麼關閉 發布:2024-12-22 00:42:50 瀏覽:863
蘋果ipad瀏覽器沒有伺服器怎麼辦 發布:2024-12-22 00:32:52 瀏覽:680
linux操作系統是什麼系統 發布:2024-12-22 00:30:46 瀏覽:89
linux密碼忘了怎麼辦 發布:2024-12-22 00:24:44 瀏覽:258
崩壞學園2金立伺服器是什麼 發布:2024-12-22 00:23:25 瀏覽:586
杭州灣新區碧桂園海上傳奇 發布:2024-12-22 00:18:16 瀏覽:462
c讀取sql資料庫 發布:2024-12-22 00:18:10 瀏覽:137
中學編程課 發布:2024-12-22 00:17:24 瀏覽:642