博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux program HEAP tracker
阅读量:6937 次
发布时间:2019-06-27

本文共 543 字,大约阅读时间需要 1 分钟。

hot3.png

有时有些进程占用的内存非常高,但是想知道是什么数据占用,可以使用以下工具获取部分信息,因为进程的内存都是私有人,不可能直接读出,所以需要借助一些工具获取部分信息。

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

Heaptrack

Java程序的话可以使用

安卓程序可以使用这个

转载于:https://my.oschina.net/swingcoder/blog/2993679

你可能感兴趣的文章
开发者应该掌握的Java代码优化技能
查看>>
kafka查看topic
查看>>
清理SQL Server服务器名称列表
查看>>
[吴恩达机器学习笔记]14降维1-2降维的应用数据压缩与数据可视化
查看>>
Python:线程同步
查看>>
bootstrap
查看>>
CI框架主题切换的功能
查看>>
P4971 断罪者
查看>>
bzoj 1834 [ZJOI2010] network 网络扩容(费用流)
查看>>
lua学习笔记
查看>>
MapReduce中的Join算法
查看>>
Deep Q-Network 学习笔记(六)—— 改进④:dueling dqn
查看>>
topcoder srm 490 div1
查看>>
并发与并行
查看>>
拷贝控制示例
查看>>
会议08
查看>>
第一节:python读取excel文件
查看>>
vbox导入虚拟电脑网卡MAC问题
查看>>
Java知多少(83)面板基础:JPanel和JScrollPane
查看>>
Prolog学习:数独和八皇后问题
查看>>