E5-2698v3 + X99-Turbo 服务器超频(打鸡血)指南。本文详细介绍了如何通过修改BIOS和使用v3x4 EFI来解锁Xeon E5 v3的全部性能。

E5-2698v3 + X99-Turbo 服务器打鸡血完整流程
4 mins
796 words
Loading views

适用环境:

CPU: Intel Xeon E5-2698 v3
CPUID: 306F2
主板: X99-Turbo / AMI BIOS
系统: Proxmox VE
启动: UEFI
ESP: /dev/sda2

1. 备份 BIOSh3

安装:

Terminal window
apt install -y flashrom

连续读两次:

Terminal window
mkdir -p /root/bios-backup
cd /root/bios-backup
flashrom -p internal -r bios-1.bin
flashrom -p internal -r bios-2.bin
sha256sum bios-1.bin bios-2.bin
cmp bios-1.bin bios-2.bin

两份必须完全一致。

我们这块 BIOS 原始 SHA256:

b8972be435eda4999ec8795d0332a14b404f2d32015bac3c1386b53376010faa

只有 SHA256 一样,下面的绝对 Offset 才能直接复制使用。


2. 屏蔽 BIOS 中 306F2 Microcodeh2

我们定位到:

306F2 microcode:
Offset: 0xE82660
Revision: 0x3D
FIT:
0xD90020 -> 306F2
Type byte: 0xD9002E

创建 Patch:

Terminal window
cd /root/bios-backup
python3 <<'PY'
from pathlib import Path
src = Path("bios-1.bin")
dst = Path("bios-mod.bin")
data = bytearray(src.read_bytes())
def patch(off, old, new):
assert data[off:off+len(old)] == old
data[off:off+len(new)] = new
# Disable 306F2 FIT entry
patch(0xD9002E, bytes.fromhex("01"), bytes.fromhex("7F"))
# CPUID 306F2 -> FFFFFFFF
patch(
0xE8266C,
bytes.fromhex("F2 06 03 00"),
bytes.fromhex("FF FF FF FF")
)
# 修复 microcode checksum
patch(
0xE82670,
bytes.fromhex("B1 CF D0 A5"),
bytes.fromhex("A4 D6 D3 A5")
)
dst.write_bytes(data)
print("Generated:", dst)
PY

刷 BIOS Region:

Terminal window
flashrom -p internal \
--ifd \
-i bios \
--noverify-all \
-w bios-mod.bin

重启。


3. Linux 禁止重新加载 Microcodeh2

修改:

Terminal window
nano /etc/default/grub

设置:

GRUB_CMDLINE_LINUX_DEFAULT="quiet dis_ucode_ldr"

更新:

Terminal window
update-grub
reboot

确认:

Terminal window
cat /proc/cmdline

必须有:

dis_ucode_ldr

4. 准备 v3x4 EFIh2

这里使用:

freecableguy/v3x4 RC9
CPUID 306F2

例如我们当前验证成功的:

v3x4-0.10b-i306f2-rc9_70_50_50_pc1.9v.efi

含义:

Core -70mV
Uncore -50mV
SA -50mV
PowerCut ON
VCCIN 1.9V

挂载 ESP:

Terminal window
mkdir -p /mnt/esp
mount /dev/sda2 /mnt/esp
mkdir -p /mnt/esp/EFI/v3x4

复制:

Terminal window
cp v3x4-0.10b-i306f2-rc9_70_50_50_pc1.9v.efi \
/mnt/esp/EFI/v3x4/v3x4.efi

5. 用 UEFI Shell 自动加载h2

安装 Shell:

Terminal window
apt install -y efi-shell-x64

复制:

Terminal window
mkdir -p /mnt/esp/EFI/Shell
cp /usr/share/efi-shell-x64/shellx64.efi \
/mnt/esp/EFI/Shell/shellx64.efi

创建:

Terminal window
cat >/tmp/startup.nsh <<'EOF'
echo -off
map -r
for %i in 0 1 2 3 4 5 6 7 8 9
if exist FS%i:\EFI\v3x4\v3x4.efi then
if exist FS%i:\EFI\PROXMOX\SHIMX64.EFI then
load FS%i:\EFI\v3x4\v3x4.efi
FS%i:\EFI\PROXMOX\SHIMX64.EFI
goto END
endif
endif
endfor
:END
exit
EOF
sed 's/$/\r/' /tmp/startup.nsh \
> /mnt/esp/EFI/Shell/startup.nsh
sync

6. 注册自动启动项h2

Terminal window
efibootmgr \
--create \
--disk /dev/sda \
--part 2 \
--label "V3 Turbo Auto" \
--loader '\EFI\SHELL\SHELLX64.EFI'

查看:

Terminal window
efibootmgr

假设得到:

Boot0004* V3 Turbo Auto
Boot0006* proxmox

先测试一次:

Terminal window
efibootmgr -n 0004
reboot

成功后永久设置:

Terminal window
efibootmgr -o 0004,0006,0009,0005,0001,0002,0003,0000

编号以实际机器为准。

最终启动链:

UEFI
UEFI Shell
startup.nsh
load v3x4.efi
Proxmox SHIMX64.EFI
GRUB
PVE

7. 验证 Turbo Unlockh2

启动后:

Terminal window
rdmsr -p 0 0x1ad
rdmsr -p 0 0x1ae
rdmsr -p 0 0x1af

正确结果:

2424242424242424
2424242424242424
2424242424242424

因为:

0x24 = 36

代表 Turbo Ratio 已全部改成 36x

确认 Microcode:

Terminal window
cat /proc/cmdline

必须仍包含:

dis_ucode_ldr

8. 性能测试h2

Terminal window
stress-ng \
--cpu 32 \
--cpu-method matrixprod \
--timeout 30s &

同时:

Terminal window
turbostat \
--interval 1 \
--show Busy%,Bzy_MHz,CoreTmp,PkgTmp

我们实际结果:

Busy% ≈ 99.9%
Bzy_MHz = 3200 MHz
PkgTmp ≈ 88°C / 30s

原厂大约:

2530 MHz

Turbo Unlock 后:

3200 MHz

7-Zip 32T:

原厂约 72121 MIPS
鸡血后约 82823 MIPS
提升约 14.8%

EFI Profile 自由切换h1

不要修改 startup.nsh

它永远加载:

/EFI/v3x4/v3x4.efi

所有版本放:

/EFI/v3x4/profiles/

例如:

profiles/
├── v3x4-0.10b-i306f2-rc9.efi
├── v3x4-0.10b-i306f2-rc9_pc1.9v.efi
├── v3x4-0.10b-i306f2-rc9_70_50_50_pc1.9v.efi
├── v3x4-0.10b-i306f2-rc9_80_50_50_pc1.9v.efi
└── ...

切换本质就是:

Terminal window
cp profiles/目标版本.efi \
/mnt/esp/EFI/v3x4/v3x4.efi
sync
reboot

所以:

startup.nsh 不变
BootOrder 不变
Shell 不变
只替换 v3x4.efi

v3x4 EFI 怎么选h1

最重要的几个版本就够了:

EFI含义推荐
rc9纯 Turbo Unlock基准测试
rc9_pc1.9vTurbo + PowerCut测 PowerCut
50x3_pc1.9v-50/-50/-50 + PowerCut保守
70_50_50_pc1.9v-70/-50/-50 + PowerCut目前推荐
80_50_50_pc1.9v-80/-50/-50 + PowerCut下一档测试
80_60_50_pc1.9v-80/-60/-50 + PowerCut偏激进
90_70_50_pc1.9v-90/-70/-50 + PowerCut极限测试

当前推荐h3

这台 E5-2698 v3 已验证:

v3x4-0.10b-i306f2-rc9_70_50_50_pc1.9v.efi

可以稳定得到:

32T matrixprod
≈ 3.20 GHz

所以目前建议把它作为 Daily。

下一步想继续优化:

70_50_50_pc1.9v
80_50_50_pc1.9v
80_60_50_pc1.9v

不要直接跳 90_70_50


一句话总结h2

整套方案其实只有四件事:

1. BIOS 干掉 306F2 Microcode
2. Linux 加 dis_ucode_ldr
3. UEFI Shell startup.nsh 自动 load v3x4
4. 替换 /EFI/v3x4/v3x4.efi 来切换 Profile