python 内存占用分析工具

python 内存占用分析工具,第1张

pip install memory_profiler

pip install psutil

pip install matplotlib

使用方法

from memory_profiler import profile

@profile(precision=4, stream=open('testlog', 'w+'))

def test(args: List):

运行:

python3 testpy

Mem usage:表示执行该行后Python解释器的内存使用情况

Increment:表示当前行的内存相对于上一行的差异,即自己本身增长了多少,如果减少了则不显示

python读取文本文件内容的方法主要有三种:read()、readline()、readlines()。

第一种:read()

read()是最简单的一种方法,一次性读取文件的所有内容放在一个大字符串中,即内存中。

read()的好处:方便、简单,一次性读出文件放在一个大字符串中,速度最快。

read()的坏处:文件过大的时候,占用内存会过大。

第二种:readline()

readline()逐行读取文本,结果是一个list。

readline()的好处:占用内存小,逐行读取。

readline()的坏处:逐行读取,速度比较慢。

第三种:readlines()

readlines()一次性读取文本的所有内容,结果是一个list。

readlines()的好处:一次性读取文本内容,速度比较快。

readlines()的坏处:随着文本的增大,占用内存会越来越多。

查看python内置函数的方法:1、打开PythonIDLE编辑器;2、输入"dir(__builtins__)"命令,按下回车键(Enter)得到Python全部内置变量和函数。

打开PythonIDLE,我用的是Python3。7,界面有个性定制。你的版本不同,界面有差异,但是 *** 作方法应该是一样的。输入dir(__builtins__)。

可以看到,返回的结果是以[开头以]结尾,说明是个列表,输入:len(dir(__builtins__))。

按下两次回车键(Enter)。按照默认的字母顺序,先是大写字母A-Z,然后是下划线(_)开头的,然后是小写字母a-z。

当用python爬取大量网页获取想要的数据时,最重要的问题是爬虫中断问题,python这种脚本语言,一中断

进程就会退出,怎么在中断后继续上次爬取的任务就至关重要了。这里就重点剖析这个中断问题。

第一个问题: 简单点的用动态代理池就能解决,在爬取大量数据的时候,为了速度不受影响,建议使用一些缓

存的中间件将有效的代理 ip 缓存起来,并定时更新。这里推荐 github 这个仓库

>

Python可以使用ctypes模块获取梦幻西游模块基址。ctypes可以检查 *** 作系统内存、分配内存,以及执行指定在内存中的函数。通过使用ctypes,可以实现对梦幻西游模块基址的获取,并进行模块的注入和扩展,以及进行代码的修改和调试。

看到句柄数这几个字,我猜可能是要windows下运行的?

可能答非所问,不过在linux下最好的用的莫过于psutil了,你可以通过进程名或pid很好的监控任意进程的系统占用情况,甚至进程建立的每个连接都能获取到

>>> import psutil

>>> psutilpids()

[1, 2, 3, 4, 5, 6, 7, 46, 48, 50, 51, 178, 182, 222, 223, 224,

 268, 1215, 1216, 1220, 1221, 1243, 1244, 1301, 1601, 2237, 2355,

 2637, 2774, 3932, 4176, 4177, 4185, 4187, 4189, 4225, 4243, 4245,

 4263, 4282, 4306, 4311, 4312, 4313, 4314, 4337, 4339, 4357, 4358,

 4363, 4383, 4395, 4408, 4433, 4443, 4445, 4446, 5167, 5234, 5235,

 5252, 5318, 5424, 5644, 6987, 7054, 7055, 7071]

>>>

>>> p = psutilProcess(7055)

>>> pname()

'python'

>>> pexe()

'/usr/bin/python'

>>> pcwd()

'/home/giampaolo'

>>> pcmdline()

['/usr/bin/python', 'mainpy']

>>>

>>> pstatus()

'running'

>>> pcpu_percent(interval=10)

121

>>> psutilnet_io_counters(pernic=True)

{'eth0': netio(bytes_sent=485291293, bytes_recv=6004858642, packets_sent=3251564, packets_recv=4787798, errin=0, errout=0, dropin=0, dropout=0),

 'lo': netio(bytes_sent=2838627, bytes_recv=2838627, packets_sent=30567, packets_recv=30567, errin=0, errout=0, dropin=0, dropout=0)}

从官方文档上copy了一部分出来,有没有碉堡了的感觉,快去翻一下文档吧,非常容易使用

以上就是关于python 内存占用分析工具全部的内容,包括:python 内存占用分析工具、Python读取文件内容的方法有几种、查看变量内存地址的python内置函数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://www.54852.com/web/9476280.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存