HP 600 G1 SFF 硬件系统升级
记录笔者升级 HP 600 G1 SFF 机器。
笔者在 N 年前购入一台 HP 600 G1 SFF 准系统,并且搭配:
- Intel i3-4165
- DDR3 1600 8G x2 + DDR3 1333 4G x2
今天花费一大笔钱,购入 INVIDA Quotra P620 和 DDR3 1600 8G x2 再配合之前的至强 E3-1231v3 ,要将这台机器升级成传奇至强 E3。
安装硬件
$ sudo dmidecode -s bios-version
L01 v02.57
$ sudo dmidecode -s system-product-name
HP ProDesk 600 G1 SFF
$ sudo dmidecode -s baseboard-product-name
18E7
ChatGPT 担忧 HP 这种 OEM 商用机器的 BIOS 会无法识别 E3-1231v3 ,实际上测试是可以的,直接上就行了,不需要更新 BIOS 。
P620 + 1231v3 的总功耗不会超过 120W ,因此 SFF 的 240W 电源应该完全足够。
安装硬件的时候有一个坑,就是直接换新内存时重启,机器会卡在内存变化的报错页面,需要接入键盘按 F1 继续才行。
硬件检查与测试
先初步检查一下 P620 有没有问题:
# 正常应该看到 P620
lspci -nn | grep -Ei 'vga|3d|display'
# 详细 PCIe 状态
lspci -nnk | grep -A 4 -Ei 'vga|3d|display'
# 没有明显 error,硬件层面基本就比较放心了
sudo dmesg | grep -Ei 'nvidia|nouveau|nvrm|pci.*vga'
# 检查一下 PCIe 链路
sudo lspci -vv -d 10de: | grep -E 'LnkCap:|LnkSta:'
一切正常。
CPU 压力测试
先准备好温度监控工具和频率监控工具:
sudo apt install lm-sensors
sudo sensors-detect
# 一路默认即可
sensors
# 应该可以看到温度监控
sudo apt install linux-cpupower
接着做 CPU 压测:
sudo apt install stress-ng
# 先跑一个比较温和的 10 分钟测试
stress-ng --cpu 8 --cpu-method all --verify --timeout 10m --metrics-brief
# 另开一个窗口
watch -n 2 sensors
# 负载时监控 CPU 频率
watch -n 1 'grep -E "cpu MHz" /proc/cpuinfo'
# 测试完看有没有报错
sudo dmesg -T | grep -Ei 'mce|machine check|hardware error|thermal|throttl'
CPU 温度比较高,最高核心温度可到 90 度,且最低、最高核心温度相差接近 20 度,怀疑是散热器安装不正常/硅脂不均匀。重装散热器,按照对角顺序小幅度周期性扭紧散热器四角螺丝,再次测试结果类似。可能是 CPU 太老了。
没有报错,虽然极限负载下温度有点高,但是正常使用一般不会逼近这种极限,可以判断验收通过。
显卡压测
首先需要安装驱动:
# 检查 Debian 当前认为 P620 应该用什么驱动
sudo apt install nvidia-detect
nvidia-detect
# 会推荐 nvidia-driver
# 确认当前候选版本
apt policy nvidia-driver
sudo apt install nvidia-driver firmware-misc-nonfree
# 重启
sudo reboot
nvidia-smi
# 正常情况应该就可以看见卡了
笔者使用 wilicc/gpu-burn 进行压测,这个项目提供 Easy docker build and run 。
# 安装 NVIDIA Container Toolkit 让 docker 可以使用显卡
# https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html
sudo apt install -y --no-install-recommends ca-certificates curl gnupg2
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey \
| sudo gpg --dearmor \
-o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
sudo apt install -y nvidia-container-toolkit
# 把 NVIDIA runtime 注册给 Docker
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
docker info | grep -i runtime
# Runtimes 中应该出现 nvidia
# 做一个最简单的 GPU 容器测试,如果成功说明链路通畅
docker run --rm --gpus all \
nvidia/cuda:12.2.2-base-ubuntu22.04 \
nvidia-smi
# 然后编译 gpu-burn
git clone https://github.com/wilicc/gpu-burn
cd gpu-burn
# P620 是 Pascal GP107,Compute Capability 是 6.1
docker build --no-cache \
--build-arg COMPUTE=61 \
-t gpu-burn-p620 .
# 先跑 60 s ,后面可以拉长
docker run --rm --gpus all gpu-burn 60
# 另开窗口监控
watch -n 1 nvidia-smi
sudo journalctl -k -f | grep -Ei 'NVRM|Xid|GPU|PCIe'
温度压得很好,没有报错,显卡验收通过!