当前位置:首页 > 内存 > 正文

Python查看当前内存(linux怎么查看内存占用情况)

  • 内存
  • 2024-08-28 01:47:46
  • 9326

一、查看变量内存地址的python内置函数如何查看Python的内置函数:1、打开PythonIDLE编辑器;2、输入命令“dir(__builtins__)”并回车即可获取Python内置的所有变量和函数。
打开PythonIDLE,我用的是Python3.7,界面是自定义的。你的版本不同,界面也不同,但操作方法应该是一样的。输入dir(__builtins__)。
可以看到,返回的结果以[开头,]结尾,表示是一个列表,输入:len(dir(__builtins__))。
按两次Enter键。默认情况下,按字母顺序排列,首先是大写字母A到Z,然后是以下划线(_)开头的字母,最后是小写字母a到z。
二、7种检测Python程序运行时间、CPU和内存占用的方法1.使用装饰器测量函数执行时间
一种简单的方法是定义一个装饰器来测量函数执行时间并输出结果。
importtime
fromfunctoolsimportwraps
importrandom
deffn_timer(function):
@wraps(function)
deffunction_timer(*args,**kwargs):
t0=()
result=function(*args,**kwargs)
t1=()
print("总运行时间%s:%s秒"%
(function.__name__,str(t1-t0))
)
返回结果
returnfunction_timer
@fn_timer
defrandom_sort(n):
returnsorted([()foriinrange(n)])
if__name__=="__main__":
random_sort(2000000)
输出:Totaltimerunningrandom_sort:0.6598007678985596秒
要使用它,只需将@fn_timer添加到要监视的函数的定义中

#可以监控程序执行时间
importtime
importrandom
defclock(func):
defwrapper(*args,**kwargs):
start_time=()
result=func(*args,**kwargs)
结束时间=时间。time()
print("总耗时:%s秒"%round(end_time-start_time,5))
returnresult
returnwrapper
@clock
defrandom_sort(n):
返回排序([()foriinrange(n)])
if__name__=="__main__":
random_sort(2000000)
输出结果:总耗时:0.65634秒
模块
另一种方法是使用timeit模块来计算平均时间消耗。
运行以下脚本来运行该模块。
其中Timing_functions是Python脚本文件的名称。
在输出的最后可以看到以下结果:4个循环,最佳5:2.08secperloop
这意味着测试了4个循环,并且每个测试都完成了。平均重复5次,最佳测试结果为2.08秒。
如果不指定测试或重复次数,则默认为10次,每次测试重复5次。
3.在Unix系统上,使用time命令。
但是,装饰器和timeit都是基于Python的。在外部环境中测试Python时,unixtime实用程序非常有用。
运行时间实用程序:
输出结果:
运行random_sort的总时间:1.3931210041秒
Real1.49
user1.40
sys0.08
第一行来自预定义的装饰器,其余三行是:
它是什么实际上指的是运行脚本所花费的总时间。
User指的是运行脚本所花费的CPU时间。
sys表示执行内核函数所花费的时间。
注:根据维基百科,内核是一种计算机程序,它管理软件的输入和输出,并将其转换为计算机CPU和其他电子设备可以执行的数据处理指令。
所以,实际执行时间与User+Sys执行时间之间的差异就是其他任务的输入/输出和系统执行所花费的时间。
4.使用cProfile模块。
5.使用line_profiler模块。
6.使用memory_profiler模块。
7.使用goofy包。