在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系统上的性能表现,从而进行相应的优化和调整。