首页 > 系统相关 >memray python 内存profiler 工具简单试用

memray python 内存profiler 工具简单试用

时间:2024-03-07 14:57:23浏览次数:19  
标签:run python memray profiler flamegraph memory usage Generate

memray python 内存profiler 工具,功能还是很强大的,以下是一个简单使用

参考使用

  • 安装
pip install memray
  • 支持的cli
usage: memray [-h] [-v] [-V] {run,flamegraph,table,live,tree,parse,summary,stats,transform,attach,detach} ...
 
Memory profiler for Python applications
 
Run `memray run` to generate a memory profile report, then use a reporter command
such as `memray flamegraph` or `memray table` to convert the results into HTML.
 
Example:
 
    $ python3 -m memray run -o output.bin my_script.py
    $ python3 -m memray flamegraph output.bin
 
positional arguments:
  {run,flamegraph,table,live,tree,parse,summary,stats,transform,attach,detach}
                        Mode of operation
    run                 Run the specified application and track memory usage
    flamegraph          Generate an HTML flame graph for peak memory usage
    table               Generate an HTML table with all records in the peak memory usage
    live                Remotely monitor allocations in a text-based interface
    tree                Generate a tree view in the terminal for peak memory usage
    parse               Debug a results file by parsing and printing each record in it
    summary             Generate a terminal-based summary report of the functions that allocate most memory
    stats               Generate high level stats of the memory usage in the terminal
    transform           Generate reports files in different formats
    attach              Begin tracking allocations in an already-started process
    detach              End the tracking started by a previous ``memray attach`` call
 
options:
  -h, --help            show this help message and exit
  -v, --verbose         Increase verbosity. Option is additive and can be specified up to 3 times
  -V, --version         Displays the current version of Memray
 
Please submit feedback, ideas, and bug reports by filing a new issue at
https://github.com/bloomberg/memray/issues
  • 参考使用
// 生成结果数据
python -m memray run -o output.bin app.py
// 通过火焰图查看数据
python -m memray flamegraph output.bin
  • 效果

说明

memray 与以前介绍的scalene 都是很不错的工具,对于性能分析场景,都值得试用下

参考资料

https://github.com/bloomberg/memray

标签:run,python,memray,profiler,flamegraph,memory,usage,Generate
From: https://www.cnblogs.com/rongfengliang/p/18058543

相关文章

  • Python中怎么使用Spark的spark.read.format()函数读取MySQL数据库中的数据
    1.准备工作:安装pyspark库(pipinstallpyspark)2.代码:#导入模块frompyspark.sqlimportSparkSession#创建Spark会话对象spark=SparkSession.builder\.appName("ReadMySQL")\.getOrCreate()#或者写成一行spark=SparkSession.builder.appName("ReadMySQL&qu......
  • CentOS7安装python3详细教程
    1.检查CentOS7自带python环境centos一般自带Python2,先使用python-V来查看python版本建议大家在保留python2的基础上安装一个python3,因为python2和python3还是有一些区别的,同时安装python2和python3的环境,以便不时之需或者对比学习。如果想要删除原有的python环境,可以通过下面......
  • 详解Python魔法函数,__init__,__str__,__del__
    1、简介Python作为一门灵活而强大的编程语言,提供了许多特殊的方法,被称为魔法函数(Magicmethods)。这些魔法函数以双下划线开头和结尾,能够让我们自定义类的行为,使得Python更加灵活和易用。本文将详细介绍Python中的魔法函数,帮助读者理解其作用和用法。1.1、什么是魔法函数?魔法函......
  • Python根据坐标半径生成测试点数据
    一、代码#-*-coding:UTF-8-*-importcsvimportrandomimportmathimportdatetimefromfakerimportFaker#定义语言faker_data=Faker(locale='zh_CN')#获取当前时间current_time=datetime.datetime.now()#格式化时间formatted_time=current_time.strft......
  • Python爬虫学习记录1—Python基础知识
    1.type()函数:用于查看变量的数据类型print(type(a),a)2.input()函数:输入内容用户的交互程序如果没有结束,则需要输入内容注意:input接受的所有数据都是字符串,字符串如果想变成其他数据类型则需要转化3.ifPython用缩进代替判断括号缩进:捆绑同一层级别的代码,简称代码块if单分......
  • Python 实现 AES 加密/解密
    AES,高级加密标准(AdvancedEncryptionStandard)。是用来替代DES,目前比较流行的对称加密算法。与上一篇博文提到过的RSA非对称算法不同,对称加密算法也就是加密和解密用相同的密钥#-*-coding:utf-8-*-#!/usr/bin/envpythonimportosimportsyssys.path.append(os.pa......
  • Java开发者的Python快速进修指南:掌握T检验
    前言T检验是一种用于比较两个独立样本均值差异的统计方法。它通过计算T值和P值来判断样本之间是否存在显著性差异。通常情况下,我们会有两组数据,例如一组实验组和一组对照组。T检验的原假设是两组样本的均值相等,备假设是两组样本的均值不相等。T检验会计算一个T值,表示两组样本均......
  • Python开启线程和线程池的方法
    一.最佳线程数的获取:1、通过用户慢慢递增来进行性能压测,观察QPS(即每秒的响应请求数,也即是最大吞吐能力。),响应时间2、根据公式计算:服务器端最佳线程数量=((线程等待时间+线程cpu时间)/线程cpu时间)*cpu数量3、单用户压测,查看CPU的消耗,然后直接乘以百分比,再进行压测,一般这个值......
  • Python中判定列表是否包含某个元素的方法
    大家好,我是彭涛,今天为大家分享Python中判定列表是否包含某个元素的方法,全文4000字,阅读大约10分钟。在Python编程中,判定一个列表是否包含特定元素是一项常见任务。本文将深入研究各种方法,从基本的成员运算符到更高级的函数和库的应用,为大家提供全方位的指南和实用示例。1.成......
  • python表达式
    a,b,c=1,2,3 #1.常规ifa>b:  c=aelse:  c=b #2.表达式c=aifa>belseb#先执行中间的if,如果返回True,就是左边,False是右边。print(c)#3.二维列表c=[b,a][a>b]#实际是[b,a][False],因为False被转换为0,所以是[1,2][0],也就是[1]   ......