---
title: 函数：get_mem_info
description: "| 产品 | 是否支持 |"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/runtimeapi/aclpythondevg_01_0114.html
sourcePath: /source/zh/canncommercial/900/API/runtimeapi/aclpythondevg_01_0114.html
indexId: b7bb97eb43ee08de9a28b7291b8f576d588fffb4300ad925c48218afd17d78f671
---
# 函数：get_mem_info

#### 产品支持情况

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


#### 功能说明

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


#### 函数原型

- C函数原型
  1 aclError aclrtGetMemInfo(aclrtMemAttr attr, size_t *free, size_t *total)

- python函数
  1 free, total, ret = acl.rt.get_mem_info(attr)


#### 参数说明

| 参数名 | 输入/输出 | 说明 |
| --- | --- | --- |
| attr | 输入 | int，需要查询的内存的属性值，具体请参见aclrtMemAttr。 |


#### 返回值说明

| 返回值 | 说明 |
| --- | --- |
| free | int，对应属性的内存的空闲大小，单位Byte。 |
| total | int，对应属性的内存的总大小，单位Byte。 |
| ret | int，错误码，返回0表示成功，返回其它值表示失败。 |


#### 约束说明

- 调用本接口前必须先指定用于计算的Device（例如调用acl.rt.set_device接口指定用于计算的Device），因此本接口中不体现Device ID。

- Atlas 训练系列产品
  请根据实际硬件支持的情况，选择对应属性的内存，否则调用本接口获取到的空闲大小和总大小都为0。

- Atlas A2 训练系列产品 / Atlas A2 推理系列产品
  请根据实际硬件支持的情况，选择对应属性的内存，否则调用本接口获取到的空闲大小和总大小都为0。

- Atlas 200I/500 A2 推理产品
  由于Device上没有片上内存相关的内存，若指定查询片上内存相关内存，则系统内部自动转换为查询DDR相关内存，例如，若查询ACL_HBM_MEM，则系统内部实际查询ACL_DDR_MEM；若查询ACL_HBM_MEM_HUGE，则pyacl系统内部实际查询ACL_DDR_MEM_HUGE。

- Atlas 推理系列产品
  由于Device上没有片上内存相关的内存，若指定查询片上内存相关内存，则系统内部自动转换为查询DDR相关内存，例如，若查询ACL_HBM_MEM，则系统内部实际查询ACL_DDR_MEM；若查询ACL_HBM_MEM_HUGE，则系统内部实际查询ACL_DDR_MEM_HUGE。

- Atlas A3 训练系列产品 / Atlas A3 推理系列产品
  请根据实际硬件支持的情况，选择对应属性的内存，否则调用本接口获取到的空闲大小和总大小都为0。
