# MemoryTracker ## 概述 实现对设备(如GPU)内存占用的统一查询,如GPU占用的GL和Graphic内存等。 需要查询GPU等外设内存占用时使用,例如hidumper中使用本模块IMemoryTrackerInterface接口列出每个进程的GPU内存占用。 **起始版本:** 3.2 ## 汇总 ### 文件 | 名称 | 描述 | | -------- | -------- | | [IMemoryTrackerInterface.idl](_i_memory_tracker_interface_8idl.md) | 包含IMemoryTrackerInterface接口的声明、各项参数及返回值的意义。 | | [MemoryTrackerTypes.idl](_memory_tracker_types_8idl.md) | 设备内存跟踪模块中使用的数据类型,包括内存类型、内存类型标记、设备内存信息。 | ### 类 | 名称 | 描述 | | -------- | -------- | | interface  [IMemoryTrackerInterface](interface_i_memory_tracker_interface.md) | 用于获取指定类型的设备内存信息的接口。 | | struct  [MemoryRecord](_memory_record.md) | 设备内存信息 | ### 枚举 | 名称 | 描述 | | -------- | -------- | | [MemoryTrackerType](#memorytrackertype) {
MEMORY_TRACKER_TYPE_MM = 0 , MEMORY_TRACKER_TYPE_GL = 1 , MEMORY_TRACKER_TYPE_CAM = 2 , MEMORY_TRACKER_TYPE_GRAPH = 3 , MEMORY_TRACKER_TYPE_OTHER = 4 , MEMORY_TRACKER_TYPE_COUNTS
} | 内存类型 | | [MemoryTrackerFlag](#memorytrackerflag) {
FLAG_SHARED_RSS = 2 , FLAG_SHARED_PSS = 4 , FLAG_PRIVATE = 8 , FLAG_MAPPED = 16 , FLAG_UNMAPPED = 32 , FLAG_PROTECTED = 64 , FLAG_UNPROTECTED = 128 , FLAG_SYSTEM = 256 , FLAG_SYSTEM_EXCEPT = 512
} | 内存类型标记 | ## 枚举类型说明 ### MemoryTrackerFlag ``` enum MemoryTrackerFlag ``` **描述** 内存类型标记 **起始版本:** 3.2 | 枚举值 | 描述 | | -------- | -------- | | FLAG_SHARED_RSS | 与其他进程共享内存 | | FLAG_SHARED_PSS | 与其他进程共享内存 / 共享内存计数 | | FLAG_PRIVATE | 不与其他进程共享内存 | | FLAG_MAPPED | 内存映射到smaps中 | | FLAG_UNMAPPED | 内存不映射到smaps中 | | FLAG_PROTECTED | CPU安全模式相关 | | FLAG_UNPROTECTED | CPU安全模式无关 | | FLAG_SYSTEM | 系统管理内存 | | FLAG_SYSTEM_EXCEPT | 系统管理例外情况 | ### MemoryTrackerType ``` enum MemoryTrackerType ``` **描述** 内存类型 **起始版本:** 3.2 | 枚举值 | 描述 | | -------- | -------- | | MEMORY_TRACKER_TYPE_MM | 多媒体相关 | | MEMORY_TRACKER_TYPE_GL | GL相关 | | MEMORY_TRACKER_TYPE_CAM | 相机相关 | | MEMORY_TRACKER_TYPE_GRAPH | 图形相关 | | MEMORY_TRACKER_TYPE_OTHER | 其他 | | MEMORY_TRACKER_TYPE_COUNTS | 内存类型总数 |