• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 进程smaps的抓取和展示说明
2smaps展示了一个进程的内存消耗。
3## smaps的抓取
4### smaps抓取配置参数
5![GitHub Logo](../../figures/smaps/smapssetting.jpg)
6配置项说明:
7+     Start VM Tracker Record:配置项的总开关。
8+     Process:smaps的抓取只能选择单进程抓取。
9
10再点击Record setting,在output file path输入文件名hiprofiler_data_smaps.htrace,拖动滚动条设置buffer size大小是64M,抓取时长是50s。
11![GitHub Logo](../../figures/smaps/smapsrecord.jpg)
12点击Trace command,就会根据上面的配置生成抓取命令,点击Record抓取,抓取过程中会显示抓取时长。
13![GitHub Logo](../../figures/smaps/smapsexcuting.jpg)
14### smaps展示说明
15抓取结束后smaps的trace会自动加载展示。
16![GitHub Logo](../../figures/smaps/smapssummary.jpg)
17
18界面布局介绍:smaps整体界面布局分为3个部分:
19+     红色区域:泳道图。
20+     绿色区域:详细信息。
21
22### smaps泳道图展示
23smaps泳道图展示当前时刻该进程的内存消耗。
24![GitHub Logo](../../figures/smaps/smapschart.jpg)
25### smaps泳道图的框选功能
26可以对泳道图进行框选,框选后在最下方的弹出层中会展示框选数据的统计表格,总共有两个个tab页。
27VM Tracker Statistics的Tab页如图:
28![GitHub Logo](../../figures/smaps/smapsstatistics.jpg)
29+     Type: 将抓取到的信息根据Type归类,分四类,Data,Text,Const,Other。
30+     % of Res: 每行的Resident Size 占总Ressident Size的比例。
31+     #Reg:统计的类型个数。
32+     Path:虚拟内存块路径,类型中有多个则显示multiple。
33+     Resident Size: smaps节点中Rss(Shared_Clean+Shared_Dirty+Private_Clean+Private_Dirty)。
34+     Dirty Size:smaps节点中Shared_Dirty + Private_Dirty。
35+     Swapped: smaps节点中Swap + SwapPss。
36+     Virtual Size:smaps节点中Size。
37+     Pss: smaps节点中Pss。
38+     Res. %:Resident Size / Virtual Size 比值。
39VM Tracker Record List的Tab页如图:
40![GitHub Logo](../../figures/smaps/smapslist.jpg)
41+     Type: 将抓取到的信息根据Type归类,Data,Text,Const,Other。
42+     Address Range: 每段虚拟内存段的开始和结束位置。
43+     Dirty Size:smaps节点中Shared_Dirty + Private_Dirty。
44+     Swapper: smaps节点中Swap + SwapPss。
45+     Resident Size:smaps节点中Rss(Shared_Clean+Shared_Dirty+Private_Clean+Private_Dirty)。
46+     Virtual Size:smaps节点中Size。
47+     Pss:smaps节点中Pss。
48+     Reside: Rss / Size 比值。
49+     Protection: 内存块的权限(读写执行执行)。
50+     Path: 内存段路径。