• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 系统内存抓取和展示说明
2系统内存分析模板帮助系统内存调优人员进行进程内存拆解。
3## 系统内存的抓取
4#### 系统内存的抓取配置参数
5打开VM Tracker开关抓取内存数据。
6![GitHub Logo](../../figures/Allmemory/allmemorycofig.jpg)
7### 系统内存展示说明
8将抓取的内存文件导入到smartperf中,查看进程内存的情况。
9![GitHub Logo](../../figures/Allmemory/allmemoryrow.jpg)
10### 系统内存中Ability Monitor泳道图显示
11Ability Monitor泳道图分为MemoryTotal,Cached,SwapTotal,System Purgeable Total,System Purgeable Pin,DMA,Skia Gpu Memory泳道。
12![GitHub Logo](../../figures/Allmemory/abrow.jpg)
13### 系统内存中Ability Monitor泳道图点选功能
14System Purgeable Total泳道图点选功能。
15![GitHub Logo](../../figures/Allmemory/purtotalselect.jpg)
16+     TimeStamp:时间戳。
17+     ActivePurg:当前时间点的ActivePurg内存。
18+     InActivePurg:当前时间点的InActivePurg内存。
19+     ShmPurg:当前时间点的ShmPurg内存。
20System Purgeable Total泳道图框选功能。
21![GitHub Logo](../../figures/Allmemory/purtotaldrag.jpg)
22+     Type:内存的类别。
23+     AvgSize:当前内存的平均值。
24+     MaxSize:当前内存的最大值。
25+     MinSize:当前内存的最小值。
26System Purgeable Pin泳道图点选功能。
27![GitHub Logo](../../figures/Allmemory/purpinselect.jpg)
28+     TimeStamp:时间戳。
29+     PinedPurg:当前时间点的PinedPurg内存。
30+     ShmPurg:当前时间点的ShmPurg内存。
31System Purgeable Pin泳道图框选功能。
32![GitHub Logo](../../figures/Allmemory/purpindrag.jpg)
33+     Type:内存的类别。
34+     AvgSize:当前内存的平均值。
35+     MaxSize:当前内存的最大值。
36+     MinSize:当前内存的最小值。
37DMA泳道图点选功能。
38![GitHub Logo](../../figures/Allmemory/dmaselect.jpg)
39+     TimeStamp:时间戳。
40+     Process(pid):进程名(进程ID)。
41+     Fd:DMA内存文件描述符。
42+     Size:DMA内存大小。
43+     Ino:Ino值。
44+     ExpPid:申请者的进程号。
45+     ExpTaskComm:ExpTaskComm的值。
46+     BufName:DMA内存名。
47+     ExpName:申请者的进程名。
48+     Flag:去重标记,0表示正常,1表示进程内部重复数据,2表示进程间重复数据。
49DMA泳道图框选功能。
50![GitHub Logo](../../figures/Allmemory/dmadrag.jpg)
51+     Process(pid):进程名(进程ID)。
52+     SumSize:DMA内存总量。
53+     AvgSize:DMA内存的平均值。
54+     MaxSize:DMA内存的最大值。
55+     MinSize:DMA内存的最小值。
56Skia Gpu Memory泳道图点选功能。
57![GitHub Logo](../../figures/Allmemory/sgpumemselect.jpg)
58+     TimeStamp:时间戳。
59+     GpuName:Gpu名称。
60+     Process(pid):进程名(进程ID)。。
61+     Size:对应进程的Gpu的使用size。
62Skia Gpu Memory泳道图框选功能。
63![GitHub Logo](../../figures/Allmemory/sgpumemdrag.jpg)
64+     GpuName:Gpu名称。
65+     Process(pid):进程名(进程ID)。
66+     SumSize:Gpu内存总量。
67+     AvgSize:Gpu内存的平均值。
68+     MaxSize:Gpu内存的最大值。
69+     MinSize:Gpu内存的最小值。
70### VM Tracker下的smaps泳道图展示
71smaps泳道图分为Dirty,Swapped,RSS,PSS,USS泳道图。
72![GitHub Logo](../../figures/Allmemory/smapsallrow.jpg)
73### VM Tracker下的smaps泳道图的点选和框选功能
74点选和框选Dirty,Swapped,RSS,PSS,USS的5个泳道图中任一个显示的都是一样的内容,会显示Smaps Statistic和Smaps sample的tab页。
75Smaps Statistic的tab页展示。
76![GitHub Logo](../../figures/Allmemory/sstaaticstab.jpg)
77+     Type: 将抓取到的信息根据Type归类。
78+     Path:虚拟内存块路径,类型中有多个则显示multiple。
79+     Size:在该虚拟内存块路径下内存的size总和。
80+     % of Res: 每行的Resident Size 占总Ressident Size的比例。
81+     Count:统计的类型个数。
82+     Rss: smaps节点中Rss。
83+     Pss: smaps节点中Pss。
84+     SharedClean: smaps节点中SharedClean。
85+     SharedDirty:smaps节点中Shared_Dirty。
86+     PrivateClean: smaps节点中PrivateClean。
87+     PrivateDirty:smaps节点中PrivateDirty。
88+     Swap:smaps节点中Swap。
89+     SwapPss:smaps节点中SwapPss。
90Smaps sample的tab页展示。
91![GitHub Logo](../../figures/Allmemory/ssampletab.jpg)
92+     TimeStamp: 时间戳信息。
93+     Type: 将抓取到的信息根据Type归类。
94+     Path:虚拟内存块路径,类型中有多个则显示multiple。
95+     Address Range:每段虚拟内存段的开始和结束位置。
96+     Rss: smaps节点中Rss。
97+     Pss: smaps节点中Pss。
98+     SharedClean: smaps节点中SharedClean。
99+     SharedDirty:smaps节点中Shared_Dirty。
100+     PrivateClean: smaps节点中PrivateClean。
101+     PrivateDirty:smaps节点中PrivateDirty。
102+     Swap:smaps节点中Swap。
103+     SwapPss:smaps节点中SwapPss。
104+     Reside: Rss / Size 比值。
105+     Protection: 内存块的权限(读写执行执行)。
106### VM Tracker下的GPU泳道图展示
107smaps泳道图分为GL,Skia Gpu Dump Toal,Skia Gpu Dump Window,Skia Gpu Memory泳道图。
108![GitHub Logo](../../figures/Allmemory/gpurow.jpg)
109Skia Gpu Memory泳道图点选功能。
110![GitHub Logo](../../figures/Allmemory/vgpumemselect.jpg)
111+     TimeStamp:时间戳。
112+     GpuName:Gpu名称。
113+     Thread(tid):线程名(线程ID)。
114+     Size:对应线程的Gpu的使用size。
115Skia Gpu Memory泳道图框选功能。
116![GitHub Logo](../../figures/Allmemory/vgpumemdrag.jpg)
117+     GpuName:Gpu名称。
118+     Thread(tid):线程名(线程ID)。
119+     SumSize:Gpu内存总量。
120+     AvgSize:Gpu内存的平均值。
121+     MaxSize:Gpu内存的最大值。
122+     MinSize:Gpu内存的最小值。
123Gl泳道图框选功能。
124![GitHub Logo](../../figures/Allmemory/vglrag.jpg)
125+     TimeStamp:时间戳。
126+     GL_PSS:GL_PSS的大小。
127Skia Gpu Dump Toal泳道图点选功能。
128![GitHub Logo](../../figures/Allmemory/vgputotalselect.jpg)
129+     Module / Category:模块/目录。
130+     Size:按照模块/目录显示size大小。
131Skia Gpu Dump Toal泳道图框选功能。
132![GitHub Logo](../../figures/Allmemory/vgputotaldrag.jpg)
133+     TimeStamp:时间戳。
134+     Module / Category:模块/目录。
135+     AvgSize:对应模块/目录下size的平均值。
136+     MaxSize:对应模块/目录下size的最大值。
137+     MinSize:对应模块/目录下size的最小值。
138Skia Gpu Dump Window泳道图点选功能。
139![GitHub Logo](../../figures/Allmemory/vgpuwindowselect.jpg)
140+     Window / Module / Category:窗口/模块/目录。
141+     Size:按照窗口/模块/目录显示size大小。
142Skia Gpu Dump Window泳道图框选功能。
143![GitHub Logo](../../figures/Allmemory/vgpuwindowdrag.jpg)
144+     TimeStamp:时间戳。
145+     Window / Module / Category:窗口/模块/目录。
146+     AvgSize:对应窗口/模块/目录下size的平均值。
147+     MaxSize:对应窗口/模块/目录下size的最大值。
148+     MinSize:对应窗口/模块/目录下size的最小值。