• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Performance Analysis Kit术语
2
3<!--Kit: Performance Analysis Kit-->
4<!--Subsystem: HiviewDFX-->
5<!--Owner: @mzyan-->
6<!--Designer: @liyueric-->
7<!--Tester: @gcw_KuLfPSbe-->
8<!--Adviser: @foryourself-->
9
10## 通用
11
12### log版本
13
14Log版本是指在系统中开启了日志记录功能的系统版本。这种版本会记录系统运行时的各种信息,包括应用程序的运行情况、系统错误信息、调试信息等等。这些信息可以通过hdc工具或者第三方应用程序查看和分析,有助于开发者进行调试和优化。
15
16在设备中, 点击 “设置”-&gt;搜索关键字“关于本机”-&gt;“软件版本”进行查看,log版本会以“log”结尾。如:BRA-AL00 5.0.0.36(C00E15R4P92log)是log版本。
17
18### nolog版本
19
20Nolog版本是指在系统中关闭了日志记录功能的系统版本。这种版本不会记录系统运行时的信息,因此相对来说更加轻量级,运行速度也更快。但是,由于没有日志记录,开发者在调试和优化时会比较困难。
21
22在设备中, 点击 “设置”-&gt;搜索关键字“关于本机”-&gt;“软件版本”进行查看,nolog版本版本号末尾不带有“log”关键字。如:BRA-AL00 5.0.0.36(C00E15R4P92)是nolog版本。
23
24### debug版本应用
25
26使用[debug模式](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/ide-hvigor-compilation-options-customizing-guide#section192461528194916)构建的应用。
27
28### release版本应用
29
30使用[release模式](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/ide-hvigor-compilation-options-customizing-guide#section192461528194916)构建的应用。
31
32## 稳定性
33
34### AppFreeze
35
36用户在使用应用时,如果出现点击无反应或应用无响应等情况,并且持续时间超过一定限制,就会被定义为应用冻屏(AppFreeze),即应用无响应或卡死。
37
38### Asan
39
40Asan(Address Sanitizer)为内存地址消毒器,用于检测非法地址访问。
41
42### CPP Crash
43
44进程C++代码未处理posix崩溃异常信号时导致的异常退出,其中异常信号包含如下:
45
46| 信号值(signo) | 信号 | 解释 | 触发原因 |
47| -------- | -------- | -------- | -------- |
48| 4 | SIGILL | 非法指令。 | 进程执行了非法、格式错误、未知或特权指令。 |
49| 5 | SIGTRAP | 断点或陷阱异常。 | 异常或trap指令发生。 |
50| 6 | SIGABRT | 进程终止。 | 进程异常终止,通常为进程自身调用标准函数库的abort()函数。 |
51| 7 | SIGBUS | 非法内存访问。 | 进程访问了对齐或者不存在的物理地址。 |
52| 8 | SIGFPE | 浮点异常。 | 进程执行了错误的算术运算,如除数为0、浮点溢出、整数溢出等。 |
53| 11 | SIGSEGV | 无效内存访问。 | 进程访问了无效内存引用。 |
54| 16 | SIGSTKFLT | 栈错误。 | 处理器执行了错误的栈操作,如栈空时弹出、栈满时压入。 |
55| 31 | SIGSYS | 错误的系统调用。 | 系统调用时使用了错误或非法参数。 |
56
57### GWP-Asan
58
59GWP-Asan是一种原生内存分配器功能,支持检测内存释放后使用和堆缓冲区溢出问题。
60
61### HWAsan
62
63HWAsan(Hardware-Assisted Address Sanitizer)是Clang LLVM提供的一套内存错误检测系统,用来检测C/C++中常见的内存访问错误,相比Asan(Address Sanitizer),它在性能和内存开销上有不小提升。
64
65### JS Crash
66
67应用JS/ArkTS代码执行过程中发生的未捕获异常或错误,应用会因为无法继续正常运行而直接崩溃。
68
69### TSan
70
71TSan(Thread Sanitizer)是一个检测数据竞争的工具。
72
73### UBSan
74
75UBSan(Undefined Behavior Sanitizer)可以检测代码中出现的未定义行为,帮助用户清除未定义行为引起运行时的错误。
76
77## 性能
78
79### 丢帧
80
81丢帧指在视频播放、游戏渲染或图像采集过程中,因系统性能不足、硬件限制或软件问题导致帧率低于预期,造成画面卡顿或数据丢失的现象。技术角度上讲丢帧是指单帧绘制时长超过1000ms/刷新率,导致设备不能按照刷新率绘帧的现象。丢帧与单帧绘制时长的关系主要体现在:单帧绘制时长超过显示设备的刷新周期(如16.7ms/帧)会导致丢帧。
82
83## 功耗
84
85### HWC
86
87HWC(Hardware Composer)指专用硬件辅助系统,主要用于多图层叠加送显。
88
89### 前台任务
90
91前台任务指用户当前正在主动使用、界面可见并优先占用系统资源的应用或服务。
92
93### 后台任务
94
95后台任务指用户不直接操作界面的情况下,应用在后台执行的操作或服务,如下载、同步或播放音乐等。
96
97### 帧率
98
99帧率为每秒显示或处理的图像帧数。
100
101### LTPO
102
103LTPO(Low Temperature Polycrystalline Oxide)中文译为“低温多晶氧化物”。这是OLED屏背板的一种驱动技术。LTPO屏支持1~120Hz的自适应刷新率,使应用在需要高刷新率的场景下提升流畅性,而在视频、静止等场景中使用低刷新率降低显示功耗,延长电池续航。通常用“LTPO”指代自适应刷新率技术。
104
105### 冗余绘制
106
107冗余绘制是指界面中存在被其他图层遮挡或多次重复渲染的图层,导致系统在同一像素上进行多次无效绘制,浪费GPU资源并可能引起卡顿。
108
109### 不可见动效
110
111不可见动效指在界面中不直接呈现给用户,但用于增强交互反馈或状态过渡的动画效果,如页面切换时的滑动。
112
113## 内存
114
115### VSS
116
117VSS(Virtual Set Size)指的是进程虚拟内存的大小,包括所有映射到该进程地址空间的内存区域,无论这些区域是否实际存在于物理内存中。
118
119### PSS
120
121PSS(Proportional Set Size)是一种更精确的内存使用度量方法,它将共享库所占的内存按比例分配给每个使用该库的进程。
122
123### RSS
124
125RSS(Resident Set Size)表示当前进程中实际驻留在物理内存中的大小。
126
127### 脏页
128
129脏页(Dirty Pages)指的是已经被修改过但还没有写回到磁盘上的缓存页面。
130
131### 干净页
132
133干净页(Clean Pages)指的是未被修改过的或者已经从磁盘正确同步过来的页面。
134
135### 匿名页
136
137匿名页(Anonymous Pages)指的是不对应任何具体文件的内存页,通常是堆栈或堆分配的结果。
138
139### 文件页
140
141文件页(File-backed Pages)指的是映射自具体文件的数据页,比如程序文本、共享库等。
142
143### NMD
144
145NMD(Native Malloc Detail)指的是进程的jemalloc快照详细信息。
146