---
title: 获取安全内存信息
description: "为满足普通侧运维需要，扩展了libvirt virsh命令，支持通过virsh命令查看TEE侧安全内存使用情况。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/251RC2/confidt/kunpengtee_16_0028.html
sourcePath: /source/zh/kunpengboostkithistory/251RC2/confidt/kunpengtee_16_0028.html
indexId: 92be9358e35d86b3ef5d19e0d8b0ed9de5ab954f7db754305e7e46a5a9bbeca172
---
# 获取安全内存信息

为满足普通侧运维需要，扩展了libvirt virsh命令，支持通过virsh命令查看TEE侧安全内存使用情况。

1. 部署安全内存可观测驱动。

  a. 安装virtCCA_driver包。

```
yum install -y virtCCA_driver
depmod -a
```


  b. 加载tmm_driver驱动。

```
modprobe tmm_driver
```


  c. 执行以下命令验证tmm_driver驱动加载情况以及sys文件系统是否存在。

```
lsmod | grep tmm
ls /sys/kernel/tmm
```


2. 执行以下命令通过libvirt获取安全内存信息。

  - 获取粗粒度安全内存信息。

```
virsh tmm tmm_memory_info
```


    获取的信息包含： 有安全内存的NUMA节点数。 具体的节点。 对应节点的总安全内存。 对应节点的空闲安全内存。 对应节点的元数据占用的内存。 对应节点的cVM使用的内存。

  - 获取细粒度安全内存信息。

```
virsh tmm tmm_memory_info --detail
```


    获取的信息：除了粗粒度安全内存信息外，新增对应NUMA节点的各种元数据总数和空闲数以及每个NUMA节点的空闲页表数量。 每级页面的内存大小对应如下： 元数据是用来存放机密虚拟机运行时的必要信息数据对象，分为预留元数据和拓展元数据。在预留元数据消耗完毕后，会进行元数据拓展，以获得新的元数据使用。


**表1 参数说明**

| 元数据类型 | 消耗规则 | 每次拓展大小 |
| --- | --- | --- |
| td | 每个虚拟机消耗1个 | 2M |
| tec | 每个虚拟机消耗对应vcpu数量个 | 2M |
| ttt | 每个虚拟机消耗66个 | 2M |


  a. 通过cat内核字符串文件系统获取安全内存信息。

    1. 打印各NUMA安全内存使用情况。

```
cat /sys/kernel/tmm/memory_info
```


    2. 打印各NUMA元数据总数和空闲数。

```
cat /sys/kernel/tmm/slab_info
```


    3. 打印各NUMA空闲页表数。

```
cat /sys/kernel/tmm/buddy_info
```
