在Ubuntu系統中,可以使用多種工具和方法來監控Python腳本的性能。以下是一些常用的方法和工具:
psutil:這是一個跨平臺的庫,用于獲取系統使用情況和進程詳細信息,包括CPU、內存、磁盤和網絡等信息。
import psutil
cpu_percent = psutil.cpu_percent(interval=1)
print(f"CPU利用率: {cpu_percent}%")
mem = psutil.virtual_memory()
print(f"當前內存使用情況: 總量- {mem.total}, 已使用- {mem.used}")
timeit:Python的內置模塊,可以用于測量代碼段的執行時間。
import timeit
execution_time = timeit.timeit(my_function, number=1000)
print(f"Execution time: {execution_time} seconds")
cProfile:Python內置的性能分析模塊,可以對Python代碼進行詳細的性能分析。
import cProfile
cProfile.run('my_function()')
line_profiler:逐行分析器,可以對Python代碼的每一行進行性能分析。
# 在代碼文件的第一行添加以下注釋:
# @profile
# 然后,運行以下命令進行分析:
python -m line_profiler my_script.py.lprof
memory_profiler:內存分析器,可以監控Python程序的內存使用情況。
# 在代碼文件的第一行添加以下注釋:
# @profile
# 然后,運行以下命令進行分析:
python -m memory_profiler my_script.py
Py-Spy:一個Python進程的采樣分析器,可以在不影響程序性能的情況下收集有關Python程序的性能數據。
pip install py-spy
py-spy record -o profile.svg my_script.py
top:實時顯示系統中各個進程的資源占用情況。
top
htop:與top類似,但界面更友好,功能更豐富。
sudo apt install htop
htop
vmstat:報告虛擬內存統計信息。
sudo apt install sysstat
vmstat 1
iostat:報告CPU利用率和磁盤I/O統計信息。
sudo apt install sysstat
iostat -c -d 4
sar:提供系統性能的實時監控和歷史趨勢分析。
sudo apt install sysstat
sar -u 1 5
dstat:多功能的系統資源監控工具,可以實時顯示CPU、內存、磁盤I/O、網絡流量等信息。
sudo apt install dstat
dstat
glances:跨平臺的系統監控工具,提供系統性能的全面視圖。
sudo apt install glances
glances
通過結合使用這些工具和庫,可以有效地監控和分析Python腳本在Ubuntu系統上的性能表現,從而進行相應的優化和調整。