
2017 年初,我買了一台 Intel NUC6I5SYH。我當時在上面裝了 Ubuntu 16,但一直以來都很少用。最近心血來潮,想把系統升級,就裝了 Ubuntu Server 22。
剛裝好後,感覺沒什麼問題。但是隔天要嘗試 ssh 進去的時候,就發現一直 time out,到機器上面看發現原來是當機了,但重開機就又好了,就不以為意。結果,再隔天又 ssh 不進去了,打開來檢查 ssh 的狀態,看不太出什麼問題,但是檢查系統 log,發現一點奇怪的狀況。
$ sudo journalctl --since="-1 day"
...
Jun 26 17:55:39 rex-nuc kernel: rc rc0: receive overflow
Jun 26 17:55:39 rex-nuc kernel: rc rc0: receive overflow
Jun 26 17:55:39 rex-nuc kernel: rc rc0: receive overflow
Jun 26 17:55:39 rex-nuc kernel: rc rc0: receive overflow
Jun 26 17:55:39 rex-nuc kernel: rc rc0: receive overflow
...
一看發現超多這個 rc rc0
的錯誤訊息,wc 了一下結果竟然有 3726452 行!
谷歌了一下發現別人也有遇過同樣的問題:
- freeze — kernel: rc rc0: receive overflow — Ask Ubuntu
- kernel: rc rc0: receive overflow // Support Tools
看起來,這個問題來自於 NUC 內建的紅外線接受器。我其實也不知道原來這台有這紅外線的功能,但總之我也不需要,所以就決定把他直接關掉。
先檢查一下他是處於開啟的狀態:
$ lsmod | grep ite_cir
ite_cir 28672 0
然後在編輯 /etc/modprobe.d/blacklist.conf
,加上一行 blacklist ite_cir
,接著重新開機。
再檢查一下他的確被關掉了:
$ lsmod | grep ite_cir
問題就解決啦!