回覆列表
  • 1 # sunny143130492

    如何跟蹤Python指令碼使用時CPU使用情況,重點關注以下幾個方面:

    1、cProfile

    2、line_profiler

    3、pprofile

    4、vprof

    測量CPU使用率,主要使用與記憶體分析中使用指令碼相同的指令碼,具體如下:

    在PyPy2中,你需要使用與之配合的pip版本:

    cProfile

    在討論CPU分析時,最常用的工具之一是cProfile,主要是因為它內建在CPython2和PyPy2中。這是一個確定性的分析器,意味著在執行程式時會收集一組統計資料,例如我們程式碼的各個部分的執行次數或執行時間。此外,cProfile在系統上的開銷比其他內建的分析器(配置檔案)要低。

    line_profiler

    此分析器在行級提供關於工作負載的資訊。它使用Cython在C中實現,並將其與cProfile進行比較時發現其具有較小的開銷。

    原始碼可以在這裡找到,也可以在這裡找到PyPI頁面。與cProfile相比,它具有一樣的開銷,不過卻要花費12倍的時間來獲取配置檔案。

    要使用它,你需要先透過pip新增它:pip install pip install Cython ipython == 5.4.1 line_profiler(CPython2)。這個分析器的一個主要缺點是它不支援PyPy。

    pprofile

    pprofile是一個“執行緒測量和統計的純python分析器”。

    它受到line_profiler的啟發,修復了很多缺點,但是由於它完全用Python編寫,所以它也可以與PyPy成功使用。與cProfile相比,使用CPython時的分析時間要多28倍,而使用PyPy時,分析時間要多10倍,而且細節水平更加細化。

    vprof

    vprof是一個Python分析器,為各種Python程式特性(如執行時間和記憶體使用)提供豐富的互動式視覺化。它是一個基於Node.JS的圖形化的顯示在網頁中的結果。

  • 2 # 魚飛飛

    透過python指令碼分析機器cpu使用情況主要有以下步驟(供參考):

    首先,確定分析cpu的哪些指標,最關鍵的有:核心態使用率、使用者態使用率、iowait比率。

    其次,確定統計頻率及統計精度。

    再次,確定統計指標,包括平均值、峰值、最低值等。

    最後,透過python指令碼執行top命令,輸出cpu的各項指標,可以在統計週期內臨時寫入一個檔案,然後對臨時檔案進行統計指標(平均值、峰值、最低值)計算,可以直接使用awk命令,也可以在python程式中計算。

    top命令

    可以使用這個命令進行統計:top -cbi -d1 -n 10 > tmp.txt

    這個命令的意思是:逐次輸出top統計結果輸出到

    tmp.txt

    檔案中,每1秒鐘輸出一次,總共輸出10次。

  • 中秋節和大豐收的關聯?
  • 生命的存在一定需要水嗎,可以有矽基生命體嗎,為什麼?