1、memory_profiler能够监控代码的内存消耗及增加量,如下面的代码为例。函数
发如今for循环里增长了0.3MB,这个工具能够帮助咱们定位内存泄露的问题。工具
2、profile与cProfile能够监控代码的CPU占用,看下下面的代码。spa
结果以下,ncalls是调用次数,cumtime能够看到累计时间,包含子函数,tottime不包含子函数,能够看到总共占用cpu0.049秒,test用了0.038,test_1用例0.01秒,在上面的代码里,咱们使用了sleep,可是看结果,能够肯定sleep并无占用cpu。blog
下面是去掉sleep的状况,test_1执行稍快了一点点,说明虽然不使用CPU,可是cpu的占用与释放仍是有损耗的,只是不明显。排序
3、cProfile和profile相似,下面是一种经常使用的用法。内存
能够根据时间排序。test