You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在支持的内核与编译器下无法启用Intel MPX问题求助

Intel MPX 无法在 Ubuntu 20.04 工作的排查与解决

前置检查

1. 确认 CPU 硬件支持

运行以下命令检查 CPU 是否启用了 MPX 特性:

grep mpx /proc/cpuinfo

如果输出包含 mpx 字段,说明 CPU 硬件支持;如果无输出,需进入服务器 BIOS,找到「Intel Memory Protection Extensions」相关选项并启用,重启后再次检查。

2. 检查内核 MPX 配置

运行以下命令查看当前内核是否开启了 MPX 支持:

zcat /proc/config.gz | grep CONFIG_X86_MPX

若输出为 # CONFIG_X86_MPX is not set,说明内核未启用 MPX 模块,这是导致测试失败的核心原因,需重新编译内核开启该选项。

重新编译 Ubuntu 内核启用 MPX

1. 安装编译依赖

sudo apt update && sudo apt install build-essential libncurses-dev bison flex libssl-dev libelf-dev

2. 获取对应版本内核源码

apt source linux-image-$(uname -r)
cd linux-$(uname -r | cut -d'-' -f1)

3. 导入当前内核配置

cp /boot/config-$(uname -r) .config

4. 修改内核配置启用 MPX

运行配置界面:

make menuconfig

在界面中导航到:
Processor type and features → Intel Memory Protection Extensions (MPX)
按 Y 选中该选项,然后按 ESC 退出,选择保存配置。

5. 编译并安装内核

# 用全部 CPU 核心加速编译
make -j$(nproc)

# 安装内核模块
sudo make modules_install

# 安装内核
sudo make install

# 更新 GRUB 引导
sudo update-grub

6. 重启系统

sudo reboot

验证修复效果

重启后再次检查内核配置:

zcat /proc/config.gz | grep CONFIG_X86_MPX

应输出 CONFIG_X86_MPX=y。此时重新运行 mpxcheck 的测试脚本或你的 prctl 测试程序,PR_MPX_ENABLE_MANAGEMENT 调用应返回 0(成功)。

额外注意

编译 MPX 相关业务代码时,需给 GCC 添加 -fmpx 参数,例如:

gcc-6 -fmpx your_mpx_code.c -o your_mpx_code

内容的提问来源于stack exchange,提问作者pjl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 16:33:41