---
title: aclrtGetMemInfo
description: "| 产品 | 是否支持 |"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/runtimeapi/aclcppdevg_03_0107.html
sourcePath: /source/zh/canncommercial/900/API/runtimeapi/aclcppdevg_03_0107.html
indexId: e7cb1521391ed5a1b28f0a93bdfebdee581613059aac9f87d82cc5552cc5be9268
---
# aclrtGetMemInfo

#### 产品支持情况

| 产品 | 是否支持 |
| --- | --- |
| Atlas 350 加速卡 | √ |
| Atlas A3 训练系列产品 / Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品 / Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | √ |
| Atlas 推理系列产品 | √ |
| Atlas 训练系列产品 | √ |


#### 功能说明

根据指定属性，获取Device上可用内存的空闲大小和总大小，不包括系统预留内存大小。


#### 函数原型

```
aclError aclrtGetMemInfo(aclrtMemAttr attr, size_t *free, size_t *total)
```


#### 参数说明

| 参数名 | 输入/输出 | 说明 |
| --- | --- | --- |
| attr | 输入 | 需要查询的内存的属性值。类型定义请参见aclrtMemAttr。 |
| free | 输出 | 对应属性内存空闲大小的指针，单位Byte。 |
| total | 输出 | 对应属性内存总大小的指针，单位Byte。 |


#### 返回值说明

返回0表示成功，返回其他值表示失败，请参见aclError。


#### 约束说明

- 调用本接口前必须先指定用于计算的Device（例如调用aclrtSetDevice接口指定用于计算的Device），因此本接口中不体现Device ID。
- 请根据实际硬件支持的情况选择相应的内存属性；否则，通过本接口获取的空闲大小和总大小都将为0。如果硬件不支持HBM内存，在查询HBM内存信息时，接口将自动转换为查询DDR内存信息，例如，查询ACL_HBM_MEM时，接口实际会查询ACL_DDR_MEM。
