linux program HEAP tracker
2019独角兽企业重金招聘Python工程师标准>>>
有时有些进程占用的内存非常高,但是想知道是什么数据占用,可以使用以下工具获取部分信息,因为进程的内存都是私有人,不可能直接读出,所以需要借助一些工具获取部分信息。
1、导出内存 dump memory
通常使用top命令查询Rss驻留的内存,找到相应的pid,再用lsof -p pid查看打开了哪些文件,可以优化比较大的文件,第三步pmap -X pid查看内存分配情况。如果发在[heap]类型占用的内存较大,那就要查找程序malloc分配了哪些内容占用内容(如果是第三方程序,就需要dump内存来查看个大概是什么内容在里了),dump内存的方法
#获取内存地址起止地址
#cat /proc/6086/maps#gdb --pid 1604
>dump memory /tmp/php-memory.dump 0x0146f000 0x06ebf000 --表示开始和结束内存地址(16进制)
#查看数据
#strings -n 10 /tmp/php-memory.dump
2、查找内存
Valgrind
http://valgrind.org/docs/manual/ms-manual.html
Heaptrack
http://milianw.de/blog/heaptrack-a-heap-memory-profiler-for-linux
GDB
Java程序的话可以使用 IDEA工具
安卓程序可以使用这个工具
How to make a heap profiler
转载于:https://my.oschina.net/swingcoder/blog/2993679
linux program HEAP tracker相关推荐
- linux java heap space_Linux tomcat9 java.lang.OutOfMemoryError: Java heap space 解决方法
错误 tomcat9 出现这样的错误日志,可能会造成tomcat挂掉,这是由于可使用内存不足造成的. 01-May-2020 12:31:09.411 SEVERE [https-jsse-nio-4 ...
- linux define路径,linux架设BT Tracker服务器小记
目前开源的Bt tracker项目有: 官方Tracker为 www.bittorrent.com/ 使用python语言 windows下的tracker www.bitcomet.com/trac ...
- [分享]linux架设BT Tracker服务器小记
原链接:www.taoer.com 目前开源的Bt tracker项目有: 官方Tracker为 www.bittorrent.com/ 使用python语言 xbtt.sf.net 的c++ tra ...
- 【Linux Program】信号量、共享内存和消息队列
系列文章: 文件操作 数据管理 进程和信号 POSIX 线程 进程间通信:管道 信号量共享内存和消息队列 套接字 文章目录 1. 信号量 1.1 信号量的定义 1.2 Linux 的信号量机制 1.3 ...
- [xbttracker] linux 下 xbt tracker环境搭建(ubuntu)
系统环境:Ubuntu x64 20.04 操作系统:win10 xbt源码: https://github.com/dangwei-90/xbt 参考文档:http://xbtt.sourcefo ...
- 【Linux Program】文件操作
系列文章: 文件操作 数据管理 进程和信号 POSIX 线程 进程间通信:管道 信号量共享内存和消息队列 文件和设备.系统调用.库函数.底层文件访问.管理文件.标准I/O库.格式化输入和输出.文件和目 ...
- Linux虚拟内存和物理内存精华【美】
原文地址: <Playing with Virtual Memory> http://www.snailinaturtleneck.com/blog/2011/08/30/playing- ...
- 内存泄漏的定位与排查:Heap Profiling 原理解析
系统长时间运行之后,可用内存越来越少,甚至导致了某些服务失败,这就是典型的内存泄漏问题.这类问题通常难以预测,也很难通过静态代码梳理的方式定位.Heap Profiling 就是帮助我们解决此类问题的 ...
- 如何在Linux上创建手册页
Fatmawati Achmad Zaenuri/Shutterstock Fatmawati Achmad Zaenuri / Shutterstock Want your new Linux pr ...
最新文章
- Python 2 和 3 的区别及兼容技巧
- binlog2mysql,MySQL 数据恢复工具之binlog2sql
- 计算机组装与维护补考论文,计算机组装与维护期末论文
- C++的const比C语言#define更好的原因?
- ASP.NET 2.0(C#) - Themes(主题)
- SmartSql 动态代理仓储
- c++获取子类窗口句柄位置_干货分享:用一百行代码做一个C/C++表白小程序,程序员的浪漫!...
- 第6章 见缝插圆(《C和C++游戏趣味编程》配套教学视频)
- hdu acmsteps 2.1.3 Cake
- 选择排序java实现
- 74HC595中文资料
- 傅里叶变换与希尔伯特变换
- 工信部《物联网的十三五规划(2016-2020年)》
- PHP手机深色模式,哪些手机深色模式比较好?六大主流品牌手机深色模式对比介绍...
- 计算机网络原理(3)数据编码技术
- 【EverydaySport】健身笔记——人体肌肉分解图
- 华为2020校招-数字化IT应用工程师-凉经
- 火焰传感器模块的使用
- python小程序之天天向上
- powerVR使用说明
热门文章
- mysql主备数据库配置_MySQL双主互备配置
- 批量条形码生成器_条码打印软件之Code32条形码
- java token认证机制,OAuth认证协议原理分析及使用方法
- 反应机理_过敏反应的发生机理及表现
- sae mysql django_Python+Django+SAE系列教程12-----配置MySQL数据库
- prim算法_最小生成树的本质是什么?Prim算法道破天机
- matlab 两列数据相乘,在EXCEL中,两列完全相同的数据,求和结果不一样??单元格两列相乘的公式...
- 关于嵌入式开发,到底需要会多少门语言,做好准备了吗
- 八、pyqt5按钮类控件——QPushButton、QRadioButton、QCheckBox
- JavaWEB开发21——综合项目(图书商城)