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

python查看占用内存

  • 内存
  • 2024-08-26 16:10:03
  • 3428

一、Python怎样获取当前计算机的cpu,内存等信息

使用psutil包

CPU:

>>>importpsutil
>>_times()
scputimes(user=3961.46,nice=169.729,system=2150.659,idle=16900.540,iowait=629.59,irq=0.0,softirq=19.42,steal=0.0,guest=0,nice=0。>
>>对于范围(3)内的x:
..._percent(interval=1)
...
4.0
5.9
3.8
>
>>对于x在范围(3)中:
..._percent(interval=1,percpu=true)
...
[4.0,6.9,3.7,9.2]
[7.0,8.5,2.4,2.1]
[1.2,9.0,9.9,7.2]
>>
>>
>>forxinrange(3):
..._times_percent(interval=1,percpu=false)
...
scputimes(user=1.5,nice=0.0,system=0.5,idle=96.5,iowait=1.5,irq=0.0,softirq=0.0,steal=0.0,guest=0.0,guest_nice=0.0)
scputimes(user=1.0),Nice=0.0,system=0.0,idle=99.0,iowait=0.0,irq=0.0,softirq=0.0,steal=0.0,guest=0.0,guest_nice=0.0)
scputimes(user=2.0,nice=0.0)、system=0.0、idle=98.0、iowait=0.0、irq=0.0、softirq=0.0、steal=0.0、guest=0.0、guest_nice=0.0)
>>
>>_count()
4
>>_count(逻辑=false)
2
>>

注意:

>>>l_memory()
svmem(total=8374149120L,available=2081050624L,percent=75.1,used=8074080256L,free=30004923640L,inactive=1361616896,缓冲区=529895424L,缓存=1251086336)。
二、python查看变量占用了多少内存s='abc'
eof(s)

如果你想监控所有变量,你可以使用smiley模块使用Python监控所有内存变量


三、python如何计算数组内存

在Python中,可以使用sys库中的getsizeof()函数来计算数组的内存。以下是示例代码:

导入


在上面的代码中,我们首先导入sys库,然后创建一个数组arr让我们来制作吧。然后我们使用getsizeof()函数计算arr的内存大小并将结果打印到控制台。请注意,getsizeof()函数返回的是数组占用的字节数,而不是数组中的元素数。因此,在上面的例子中,getsizeof()函数返回的值可以大于5,因为数组还需要一些内存空间来存储元素的数量和其他信息。


四、7种检测Python程序运行时间、CPU和内存占用的方法1.使用装饰器来测量函数执行时间
有一个简单的方法可以定义装饰器来测量函数执行时间和输出结果:
importtime
fromfunctoolimportwraps
导入
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
frandom_sort(n):
重复([()foriinrange(n)])
if__name__=_main__":
random_sort(2000000)
输出:Totaltimerunningrandom_sort:0.6598007678985596秒
使用时只需在监听函数定义中添加@fn_timer即可

#即可监听程序运行时间
import
import
defclock(func):
defwrapper(*args,**kwargs):
start_time=()
result=func(*args,**kwargs)
end_time=()
print("总时间:%s秒"%round(end_time-start_time,5))
returnresult
revertwrapper<
@clock
defrandom_sort(n):
return([()foriinrange(n)])
if__name___=_main__":
random_sort(2000000)
输出结果:总耗时:0.65634秒
2.计时模块
另一种方法是使用计时模块来计算平均耗时。
执行此脚本来运行模块。
这里的timing_functions是Python脚本文件的名称。
在输出的最后,可以看到如下结果:4个循环,bestof5:2.08secperloop
即测试了4个循环,并且重复每个测试平均5次。
如果不指定测试或重复次数,则默认值为10次测试,每次重复5次。
3.在外部环境中测试Python时,Unixtime实用程序非常有用。
运行实用程序的时间:
输出结果为:
总时间runningrandom_sort:1.3931210041秒
Real1.49
user1.40
sys0.08
第一行来自预定义集,其余三行:用户应该完成脚本
执行脚本所消耗的CPU时间。
systime表示执行内核函数的时间。
注:根据维基百科,计算机程序的核心是管理程序的输入和输出,并将数据处理成可以由计算机中的CPU和其他电子设备执行的指令。
所以实际执行时间和User+Sys执行时间的区别就是其他任务的输入/输出和系统执行所花费的时间。
4.7.使用小狗包