3 回答
TA贡献1810条经验 获得超4个赞
ps
不反映应用程序实际使用的内存量,只反映为其保留的内存量。 如果页面是共享的,例如由多个线程或使用动态链接库,则可能会产生误导。
valgrind
Massif是一个堆分析器。它通过对程序堆的定期快照来执行详细的堆分析。它生成了一个图表,显示了随时间推移堆的使用情况,包括程序中哪些部分负责分配最多内存的信息。该图表由一个文本或HTML文件补充,该文件包含更多信息,用于确定分配最多内存的位置。Massif运行的程序比正常运行慢20倍。
valgrind --tool=massif <executable> <arguments>
massif.out.12345
ms_print
memcheck
TA贡献1817条经验 获得超6个赞
$ ps aux
/proc/$pid/status
ps aux
/proc/19420$ cat status Name: firefox State: S (sleeping) Tgid: 19420 Pid: 19420 PPid: 1 TracerPid: 0 Uid: 1000 1000 1000 1000 Gid: 1000 1000 1000 1000 FDSize: 256 Groups: 4 6 20 24 25 29 30 44 46 107 109 115 124 1000 VmPeak: 222956 kB VmSize: 212520 kB VmLck: 0 kB VmHWM: 127912 kB VmRSS: 118768 kB VmData: 170180 kB VmStk: 228 kB VmExe: 28 kB VmLib: 35424 kB VmPTE: 184 kB Threads: 8 SigQ: 0/16382 SigPnd: 0000000000000000 ShdPnd: 0000000000000000 SigBlk: 0000000000000000 SigIgn: 0000000020001000 SigCgt: 000000018000442f CapInh: 0000000000000000 CapPrm: 0000000000000000 CapEff: 0000000000000000 Cpus_allowed: 03 Mems_allowed: 1 voluntary_ctxt_switches: 63422 nonvoluntary_ctxt_switches: 7171
- 3 回答
- 0 关注
- 591 浏览
添加回答
举报