Linux Freeze Fix: “workqueue hogged CPU for >10000us” Error Server Unresponsive but Still Pingable
Recently I encountered a critical Linux server issue that caused repeated system freezes without any obvious resource exhaustion. The…
Linux Freeze Fix: “workqueue hogged CPU for >10000us” Error Server Unresponsive but Still Pingable
Recently I encountered a critical Linux server issue that caused repeated system freezes without any obvious resource exhaustion. The behavior was confusing because traditional monitoring indicators showed everything was normal.
This article explains:
✅ Symptoms observed ✅ Investigation process ✅ Root cause discovery ✅ Workaround that fixed the issue ✅ Lessons learned for production systems
🔥 The Problem
The server randomly became unresponsive after running normally for a few hours.
Kernel logs showed:
kernel: workqueue: blk_mq_requeue_work hogged CPU for >10000us 7 times, consider switching to WQ_UNBOUND
⚠️ Symptoms
The system behavior was unusual:
- Machine freezes completely
- Services stop responding
- SSH login fails
- Server remains pingable
- CPU usage stays below 50%
- Disk space available
- Inodes available
- No Out-Of-Memory (OOM) events
Essentially:
👉 The server appeared alive from a network perspective but was internally unusable.
🔁 Temporary Recovery
After reboot:
✅ Everything returned to normal
But:
❌ The issue reappeared again after several hours.
This indicated a deeper kernel or system-level problem rather than resource exhaustion.
🧪 Investigation Process
Since no obvious bottleneck existed, I focused on kernel logs and known bug reports.
Further research revealed similar errors:
workqueue: pm_runtime_work hogged CPU for 10000us
These reports were linked to kernel behavior after updates.
🧠 Key Insight
Many discussions suggested:
👉 Certain kernel/firmware combinations can cause workqueue tasks to stall.
This results in:
- System freeze symptoms
- Services stopping
- SSH becoming unavailable
- No visible CPU spike
🛠️ What I Tried
Instead of modifying the existing system directly, I took a safer approach:
- Created a snapshot of the droplet.
- Built a new server from that snapshot.
Surprisingly:
✅ The issue disappeared completely on the new instance.
This suggests the problem may be related to:
- Kernel state
- Driver conflicts
- Runtime environment inconsistencies
📌 Additional Findings
During further research, I found reports describing similar freezes tied to:
pm_runtime_work hogged CPU
A known workaround mentioned:
👉 Disable IPv6 networking (kernel-level workaround).
🧩 Workaround: Disable IPv6
⚠️ This is a workaround — not necessarily the root fix.
Method 1 — GRUB Parameter
Edit:
/etc/default/gru
Add:
GRUB_CMDLINE_LINUX="ipv6.disable=1"
Update bootloader:
update-grub
Reboot.
Verify:
cat /proc/cmdline
Method 2 — Blacklist IPv6 Kernel Module
Edit:
/etc/modprobe.d/blacklist.conf
Add:
blacklist ipv6
Reboot system.
✅ Results
After:
- Moving to a new droplet (snapshot-based rebuild)
- Applying IPv6 workaround (optional validation step)
The system became stable and freezes stopped.
📚 Lessons Learned
1️⃣ Not all freezes are resource-related
Even with:
- Low CPU usage
- Available memory
- Free disk space
Kernel-level issues can still break system usability.
2️⃣ Pingability does NOT mean health
Network ICMP response alone doesn’t guarantee system responsiveness.
3️⃣ Snapshots are powerful debugging tools
Recreating infrastructure from snapshots can isolate:
- Kernel state issues
- Hidden configuration corruption
- Runtime anomalies
4️⃣ Kernel workqueue warnings should not be ignored
Messages like:
workqueue hogged CPU
can indicate deeper scheduler or driver issues.
🎯 Final Thoughts
Linux is extremely stable, but kernel updates or firmware interactions can sometimes introduce unpredictable behavior.
When facing unexplained freezes:
✅ Check kernel logs (dmesg, journalctl)
✅ Compare environments
✅ Try rebuilding from snapshot
✅ Investigate known kernel bugs
If you encounter similar behavior, rebuilding from snapshot or investigating kernel network modules may save hours of debugging.
If this helped you, feel free to share or discuss your findings.
메타데이터
- post_id
- d65ec6200fee
- slug
- linux-freeze-fix-workqueue-hogged-cpu-for-10000us-error-server-unresponsive-but-still-pingable-d65ec6200fee
- url
- https://medium.com/@hitcrazy634/linux-freeze-fix-workqueue-hogged-cpu-for-10000us-error-server-unresponsive-but-still-pingable-d65ec6200fee
- canonical_url
- https://medium.com/@hitcrazy634/linux-freeze-fix-workqueue-hogged-cpu-for-10000us-error-server-unresponsive-but-still-pingable-d65ec6200fee
- author_url
- https://medium.com/@hitcrazy634
- status
- ok
- fetched_at
- 2026-06-26 21:52:29