---
title: Arm场景将8张昇腾AI处理器直通给虚拟机后使用npu-smi工具只能查询到5张昇腾AI处理器-昇腾社区
description: Arm场景将8张昇腾AI处理器直通给虚拟机后使用npu-smi工具只能查询到5张昇腾AI处理器。 通过执行命令dmesg | grep “BAR 4”查询，显示如下则表示为PCIe地址空间不足导致。
keywords: 虚拟机;QEMU
url: https://www.hiascend.com/document/caselibrary/detail/topic_0000002274183961
section: (其他)
---

# Arm场景将8张昇腾AI处理器直通给虚拟机后使用npu-smi工具只能查询到5张昇腾AI处理器-昇腾社区

URL: https://www.hiascend.com/document/caselibrary/detail/topic_0000002274183961
描述: Arm场景将8张昇腾AI处理器直通给虚拟机后使用npu-smi工具只能查询到5张昇腾AI处理器。 通过执行命令dmesg | grep “BAR 4”查询，显示如下则表示为PCIe地址空间不足导致。
关键词: 虚拟机;QEMU

昇腾文档 [了解详情](https://www.hiascend.com/document)

故障案例 [了解详情](https://www.hiascend.com/document/caselibrary)

Arm场景将8张昇腾AI处理器直通给虚拟机后使用npu-smi工具只能查询到5张昇腾AI处理器

Arm场景将8张昇腾AI处理器直通给虚拟机后使用npu-smi工具只能查询到5张昇腾AI处理器

2025/04/11

642

问题信息

| 问题来源 | 产品大类 | 产品子类 | 关键字 |
| --- | --- | --- | ---|
| 内部测试 | 部署虚拟机 | 虚拟机 | 虚拟机、QEMU |

#### 问题现象描述

Arm场景将8张昇腾AI处理器直通给虚拟机后使用npu-smi工具只能查询到5张昇腾AI处理器。

通过执行命令dmesg | grep “BAR 4”查询，显示如下则表示为PCIe地址空间不足导致。

#### 原因分析

默认的开源QEMU配置中，将PCIe域配置的地址空间限制在512G，而每张昇腾AI处理器所需要的BAR4资源为64G，结合虚拟机本身已使用的地址资源，最终无法在申请出足够的地址空间，导致分配失败。

#### 解决措施

执行如下命令修改QEMU源码后重新构建并安装QEMU。

修改“virt.c”文件。

vi ./hw/arm/virt.c

修改extended_memmap数组定义，加粗字体由512修改至1024后保存。

```
static MemMapEntry extended_memmap[] = {
    /* Additional 64 MB redist region (can contain up to 512 redistributors) */
    [VIRT_HIGH_GIC_REDIST2] =   { 0x0, 64 * MiB },
    [VIRT_HIGH_PCIE_ECAM] =     { 0x0, 256 * MiB },
    /* Second PCIe window */
    [VIRT_HIGH_PCIE_MMIO] =     { 0x0, 1024 * GiB },
```

本页内容

- 问题信息
- 问题现象描述
- 原因分析
- 解决措施
