單一工作下載把頻寬吃滿導致 pfsense 當機排除

Why the whole office “goes dark” when you run ollama pull

  1. 單一工作下載把頻寬吃滿/導致狀態表或 NIC driver 異常
    Ollama 會一次抓 4–10 GB 以上的模型,且預設多線程。許多 pfSense 安裝在持續大流量時會遇到:

    • Realtek/舊版 Intel Driver 在「硬體分段/接收卸載」開啟時死鎖。(Reddit, Netgate Docs)
    • 下載把 WAN 滿載 → 延遲 > 1 s,Gate­way 偵測認為「斷線」→ 觸發 kill states,等於把全網路連線都斷了。(Reddit)
  2. 資源其實足夠
    從你的截圖來看 CPU < 5 %、記憶體 3 %,狀態表 0 %——硬體不是瓶頸,而是 NIC driver/queue 管理。


快速修復步驟(5 分鐘搞定)

步驟 位置 操作
1 System → Advanced → Networking 勾選
:black_small_square: Disable hardware checksum offload
:black_small_square: Disable hardware TCP segmentation offload (TSO)
:black_small_square: Disable hardware large receive offload (LRO)
2 System → Routing → Gateways → Edit WAN Gateway 勾選 “Disable Gateway Monitoring Action”(或在 System → Advanced → Firewall & NAT 勾 “Disable State Killing on Gateway Failure”)避免延遲尖峰就把全連線 flush
3 重新開機 pfSense 讓驅動用新的 offload 設定
4 再次執行 ollama pull,觀察 Status → InterfacesTraffic Graphs 是否仍會斷線

這三個 offload 參數是官方文件建議用於疑難排解低吞吐/丟包的第一步。(Netgate Docs)


如仍會斷線,進階優化

改善點 做法
升級 pfSense 版本 你目前是 2.7.0 (2023 Jun)。建議升到 2.7.1 CE / 23.09-Plus,新驅動修了不少 Realtek/Intel watchdog timeout。
給下載主機做限速 Firewall → Traffic Shaper → Limiters
建立 ollama_down (X Mbps),在 LAN rule 指定該主機 → 免得吃光整條 WAN。
改用 FQ-CoDel 智慧排程 Traffic Shaper Wizard → FAIRQ / FQ_CoDel,依實際上傳/下載帶寬填 90 % 數值,可大幅減輕 Bufferbloat。
檢查 NIC 類型 如還是 Realtek 8111/RTL8125,長時間大流量依舊可能 hang;若預算允許換 Intel i350/i210。
觀察 logs Status → System Logs → System / Gateways:若看到 watchdog timeout, em0: link state changed, 或 gateway flapping,問題多半在 NIC/線路。

臨時權宜(若無法立刻調機房)

# 在 ollama 主機上限速,Linux/macOS:
ollama pull llama3:8b --max-download-rate 80m
# 或用 tc / wondershaper 自限速

結論

大多數「模型一抓就全網斷」的案例,80 % 是 NIC offload bug + Gateway state flush
先關掉三個 offload、停用自動 kill-state,多半立即恢復正常;
之後再用 Traffic Shaper 或限速,讓巨大下載不再影響同事上網體驗。祝順利!