7种检测Python程序运行时间、CPU和内存占用的方法

7种检测Python程序运行时间、CPU和内存占用的方法,第1张

1. 使用装饰器来衡量函数执行时间

有一个简单方法,那就是定义一个装饰器来测量函数的执行时间,并输出结果:

import time

from functoolsimport wraps

import random

def fn_timer(function):

  @wraps(function)

  def function_timer(*args, **kwargs):

      t0= time.time()

      result= function(*args, **kwargs)

      t1= time.time()

      print("Total time running %s: %s seconds" %

          (function.__name__, str(t1- t0))

)

      return result

return function_timer

@fn_timer

def random_sort(n):

  return sorted([random.random() for i in range(n)])

if __name__== "__main__":

  random_sort(2000000)

输出:Total time running random_sort: 0.6598007678985596 seconds

使用方式的话,就是在要监控的函数定义上面加上 @fn_timer 就行了

或者

# 可监控程序运行时间

import time

import random

def clock(func):

    def wrapper(*args, **kwargs):

        start_time= time.time()

        result= func(*args, **kwargs)

        end_time= time.time()

        print("共耗时: %s秒" % round(end_time- start_time, 5))

        return result

return wrapper

@clock

def random_sort(n):

  return sorted([random.random() for i in range(n)])

if __name__== "__main__":

  random_sort(2000000)

输出结果:共耗时: 0.65634秒

2. 使用timeit模块

另一种方法是使用timeit模块,用来计算平均时间消耗。

执行下面的脚本可以运行该模块。

这里的timing_functions是Python脚本文件名称。

在输出的末尾,可以看到以下结果:4 loops, best of 5: 2.08 sec per loop

这表示测试了4次,平均每次测试重复5次,最好的测试结果是2.08秒。

如果不指定测试或重复次数,默认值为10次测试,每次重复5次。

3. 使用Unix系统中的time命令

然而,装饰器和timeit都是基于Python的。在外部环境测试Python时,unix time实用工具就非常有用。

运行time实用工具:

输出结果为:

Total time running random_sort: 1.3931210041 seconds

real 1.49

user 1.40

sys 0.08

第一行来自预定义的装饰器,其他三行为:

    real表示的是执行脚本的总时间

    user表示的是执行脚本消耗的CPU时间。

    sys表示的是执行内核函数消耗的时间。

注意:根据维基百科的定义,内核是一个计算机程序,用来管理软件的输入输出,并将其翻译成CPU和其他计算机中的电子设备能够执行的数据处理指令。

因此,Real执行时间和User+Sys执行时间的差就是消耗在输入/输出和系统执行其他任务时消耗的时间。

4. 使用cProfile模块

5. 使用line_profiler模块

6. 使用memory_profiler模块

7. 使用guppy包

程序的Cpu与内存监控是一款可以帮助您查看应用程序使用内存变化的软件,每款软件在执行的时候都会占用一定的内存,特盯毁别是一些病毒软件,当您无意安装病毒的时候可能会占用大量内存,导致你的电脑内存爆满,团迅如果你需要知道应用程序占用内容的情况,可以选择这款程序的Cpu与内存监控软件,该软件可以显示每秒钟内存变化,可以在图形界面查看内存变化,可以显示初始CPU占用,可以测试软件运行过程最大占用内存百分比!

程序的Cpu与内存监控软件(cpu内存监控工具) 2.0 最新免费版

软件功能

1、程序的Cpu与内存监控软件选择监控对象非常简单

2、提供一个指针选定您的应用程序

3、鼠标点击指针,将其拖动到任意打开的软件窗口既可以捕捉软件信息

4、将软件的名字显示,例如点击百度网盘,显示的进程就是 baidunetdisk. exe

5、进程的ID就是133276,这些内容都是软件自动读取的

6、读取数据以后点击监控该软件的内存使用轻松

7、可以立即将内存显示,提示内存:154,420 K CPU:2.49 %

8、每秒钟的内存变化都在软件右上角出现

9、也能显示一个网格图,查看内存动态变化

软件特色

1、程序的Cpu与内存监控软件轻松查看内存变化

2、分析你电脑的软件是否占用很大的内存

3、也能监控一款软件长时间运行以后内存变化

4、可以测试自己下载的软件,可以测试自己开发的软件

5、监控的时间可以在左下方显示

6、支持将程序的Cpu与内存监控软件置顶显示

使用方法

1、打开程序的Cpu与内存监控.exe,这里是监控软件的选择塌则此界面,点击这里的指针

程序的Cpu与内存监控软件(cpu内存监控工具) 2.0 最新免费版

2、拖动指针选择需要监控的应用程序,例如选择“ICO提取器”,左边立即显示进程名字

程序的Cpu与内存监控软件(cpu内存监控工具) 2.0 最新免费版

3、这里是监控百度网盘的界面,显示进程ID,需要监控那个软件就拖动指针选择

程序的Cpu与内存监控软件(cpu内存监控工具) 2.0 最新免费版

4、当您选择一款软件的时候就点击右下角“开始监控”

程序的Cpu与内存监控软件(cpu内存监控工具) 2.0 最新免费版

5、监控的内存信息在这里显示,当你的软件在运行的时候内存占用立即显示

程序的Cpu与内存监控软件(cpu内存监控工具) 2.0 最新免费版

6、下方是图形显示,在这里通过网格分析你的内存信息

程序的Cpu与内存监控软件(cpu内存监控工具) 2.0 最新免费版

7、显示初始内存信息,显示初始CPU信息,具有的功能还是很多的

占用的内存可能不是你看到的,有些是内存和虚拟内存的混合。

还有,内存占用大小不是关键,关键是这种情况下机器的流程程度。

如果感觉占内存可以调低他的监控安全水平,不过防御能力可能就会下降了。

30M还算正常,无法结束进程才能在病毒攻击杀软本体时候有足够的自保能力,要是真能直接关进程,还不重启,这种东西可以直接撇了。

杀软的话可以在数字等软件管家里找找。

或是看卡饭论坛哪个杀软开专区了。

一般开专区的都可以了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12324341.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存