利用psutil模块,如前正袜果没有直接 pip install psutil
info = psutil.virtual_memory()print u'内存慧激使用:'清毁,psutil.Process(os.getpid()).memory_info().rss
print u'总内存:',info.total
print u'内存占比:',info.percent
print u'cpu个数:',psutil.cpu_count()
pip install memory_profilerpip install psutil
pip install matplotlib
使用方法
from memory_profiler import profile
@profile(precision=4, stream=open('test.log', '让咐w+'))
def test(args: List):
...
运行:
python3 test.py
Mem usage:表示执行该行后Python解释器的内存使用情况
Increment:表示当前行宏岁的内存相对于上一行的差异,即自己本身增长了多少,如果减少了则不显坦绝纯示.
看到句柄数这几个字,我猜可能是要windows下运行的?
可能答非所问,不过在linux下最好的用的莫过于psutil了,你可以通过进程名或pid很好的监控任意进程的系统占用情况,甚至进程建立的每个连接都能获取到
>>> import psutil>>> psutil.pids()
[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 = psutil.Process(7055)
>>> p.name()
'python'
>>> p.exe()
'/usr/bin/python'
>>> p.cwd()
'/home/giampaolo'
>>> p.cmdline()
['让渣/usr/bin/python', 'main.py']
>>>
>>> p.status()
'running'
>>> p.cpu_percent(interval=1.0)
12.1
>>> psutil.net_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了如敬一部分出来,有没有碉堡了的感觉,快去翻一下文档吧,非常容易使用
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)