The Setup
I’ve been running a Minisforum MS-01 as my homelab for the better part of two years. It’s a solid little box — Intel i9-12900H, 64GB RAM, Proxmox underneath, handling a handful of VMs: Home Assistant, OPNsense (my router — any downtime means the whole house loses internet), an Ollama box for local AI, a couple of services for the site, and a few other things.
For two years, it’s been mostly fine. Except for the kernel panics.
They’d come out of nowhere. No obvious trigger. The host would lock up, VMs would go grey in Proxmox, and I’d have to hard cycle the machine. I’d look at the logs afterward and see things I didn’t understand. Then it would be stable for weeks or months, and I’d move on.
Until June 8th.
The Incident
This time, Home Assistant locked up. All the other VMs were still running but Proxmox was showing everything as grey — no status, no response. I couldn’t even run ps aux inside the HA VM to see what was happening.
But SSH into the host still worked.
I checked the kernel log and found it immediately:
kernel BUG at mm/ksm.c:1036!
invalid opcode: 0000 [#1] PREEMPT SMP NOPTI
CPU: 6 PID: 146 Comm: ksmd Tainted: P O 6.8.12-16-pve #1
KSM (Kernel Samepage Merging) is a Linux kernel feature that deduplicates memory pages across running processes to save RAM. The ksmd kernel thread handles this — and it had crashed. The ksm_scan_thread was in the call trace. I couldn’t run ps or qm list to find the HA VM’s PID because they were hanging, so I checked /var/run/qemu-server/100.pid directly — 100 was the VM ID. Killed it, everything came back up. But the underlying issue was still there.
The Three Fixes
I didn’t want this to keep happening. So I worked through three things:
1. Disable KSM
This was the obvious first step. KSM was the crash site, so I disabled it as a system service in Proxmox. The RAM savings are nice but not worth kernel panics. I can always add more RAM to the host if I need to.
2. Upgrade the firmware
I’d been putting this off. The MS-01’s firmware was out of date — BIOS 1.27 from April 2025, and there were newer versions available. People in the homelab community had been recommending the update for a while, citing stability improvements.
The problem: OPNsense is my router. Any downtime means the whole house loses internet. I’d been avoiding the firmware upgrade because the risk felt high and the pain wasn’t constant.
But after this panic, I decided it was time. Downloaded the firmware from Minisforum’s site, put it on a USB stick, booted into EFI mode, flashed it. Nothing special — just a standard firmware update. The machine came back up fine.
3. Trim the RAM allocations
While I was in there, I looked at what each VM was actually using versus what it was allowed to consume:
-
fedex — 11.6GB used, was allocated 24GB → cut to 16GB
-
hana — 3.3GB used, was at 8GB → cut to 7GB
-
editorial — 2.3GB used, was at 8GB → cut to 7GB
-
homeassistant — 1.75GB used, was at 8GB → cut to 4GB
-
dhl — 1.55GB used, kept at 4GB
-
OPNsense — 1.17GB used, kept at 2GB
-
ollama — 0.87GB used, kept at 8GB (headroom for when I actually use it)
Total allocated: 48GB. Total in use: ~22.5GB. Plenty of slack in the system now.
The Outcome
It’s too early to know if this is actually fixed. Stability has been relatively okay since the changes, but I’ve had enough false hope with this machine to stay cautious.
What I don’t know: what actually caused the panics in the first place. Was it a KSM bug triggered by a specific memory pattern? A firmware issue that’s now resolved? Something else entirely? Two years of occasional crashes, no clear pattern.
My hope is that the combination of KSM disabled + firmware updated will get me from “occasional panic” to “rock solid.” Time will tell.
What I’d Tell Someone Else
If you’re running an MS-01 (or any similar homelab hardware) and you keep seeing mysterious kernel panics:
-
Update the firmware. Not glamorous, but it matters. Don’t put it off like I did.
-
Check your KSM logs. If you see
ksmdcrashing, that’s your problem. Turn it off. -
Look at your actual RAM usage, not just your allocations. Over-allocating is common. If a VM is using 2GB out of 8GB allocated, that’s memory sitting idle.
-
Know your critical path. OPNsense being my router meant any extended downtime was a house-wide outage. Plan your maintenance window carefully.
The MS-01 is a good machine. I’ve been happy with it. But two years of occasional panics is not normal, and I’m done tolerating “mostly fine.” We’ll see if this was the fix.
Has this happened to you? Found something that actually fixed your KSM-related panics? Let me know.




