題 我的Linux系統每隔一段時間就會神秘地掛起。我能做什麼?


我使用GNU / Linux Mint 18.3和內核版本4.10.0-42。在過去的幾個星期裡,每隔一段時間我的系統就會掛起,沒有任何跡象顯示即將出現的麻煩(我已經註意到了)。

我已經嘗試過切換內核版本(以前有4.4.0和4.8.0),但無濟於事。

我該怎麼做才能解決或繞過這個問題?

附加信息

  • 我係統的BIOS是“ASUS UEFI BIOS 3016”。
  • 我的根是在SSD上,沒有看到太多的寫操作
  • 在一些硬件問題之後,掛起並沒有立即開始。
  • 當我在實際的計算機上時總是或幾乎總是在我離開/睡著時似乎永遠不會發生。但同樣,並非總是如此,即大多數日子都不會發生這種情況。
  • 我使用板載顯卡運行XFCE,但我還有一個不用於圖形的nVIDIA GTX 650 Ti(當這些掛起發生時它是空閒的)。 nVIDIA驅動程序版本現在是387.26。
  • 發生掛起時,顯示器將繼續顯示最後一張圖像,但沒有任何響應。 按Ctrl+Alt鍵+FN 不起作用,計算機不響應網絡流量。

我的機器

(我會根據要求在下面添加任何其他信息。)

/var/log/syslog 上次掛起之前和之後:

Jan  7 23:09:55 my_pc smartd[966]: Device: /dev/sda [SAT], SMART Usage Attribute: 190 Airflow_Temperature_Cel changed from 70 to 69
Jan  7 23:39:55 my_pc smartd[966]: Device: /dev/sda [SAT], SMART Usage Attribute: 190 Airflow_Temperature_Cel changed from 69 to 68
Jan  8 00:03:48 my_pc rsyslogd: [origin software="rsyslogd" swVersion="8.16.0" x-pid="947" x-info="http://www.rsyslog.com"] start
Jan  8 00:03:48 my_pc rsyslogd: rsyslogd's groupid changed to 108
Jan  8 00:03:48 my_pc rsyslogd: rsyslogd's userid changed to 104

/var/log/syslog 倒數第二次之前和之後:

Jan  7 16:07:49 my_pc smartd[933]: Device: /dev/sdd [SAT], SMART Usage Attribute: 194 Temperature_Celsius changed from 111 to 112
Jan  7 16:37:49 my_pc smartd[933]: Device: /dev/sdc [SAT], SMART Usage Attribute: 190 Airflow_Temperature_Cel changed from 58 to 59
Jan  7 16:37:49 my_pc smartd[933]: Device: /dev/sdc [SAT], SMART Usage Attribute: 194 Temperature_Celsius changed from 42 to 41
Jan  7 16:37:49 my_pc smartd[933]: Device: /dev/sdd [SAT], SMART Usage Attribute: 194 Temperature_Celsius changed from 112 to 111
Jan  7 17:07:49 my_pc smartd[933]: Device: /dev/sdb [SAT], SMART Usage Attribute: 190 Airflow_Temperature_Cel changed from 69 to 70
Jan  7 17:07:49 my_pc smartd[933]: Device: /dev/sdd [SAT], SMART Usage Attribute: 194 Temperature_Celsius changed from 111 to 112
Jan  7 17:37:49 my_pc smartd[933]: Device: /dev/sdd [SAT], SMART Usage Attribute: 194 Temperature_Celsius changed from 112 to 111
Jan  7 17:56:58 my_pc systemd[1]: Starting Daily apt download activities...
Jan  7 17:57:04 my_pc systemd[1]: Started Daily apt download activities.
Jan  7 17:58:05 my_pc inadyn[1376]: .
Jan  7 17:58:05 my_pc inadyn[1376]: Checking for IP# change, connecting to ip1.dynupdate.no-ip.com(34.196.162.199)
Jan  7 17:58:05 my_pc inadyn[1376]: No IP# change detected, still at 11.22.33.44
Jan  7 18:07:49 my_pc smartd[933]: Device: /dev/sdb [SAT], SMART Usage Attribute: 190 Airflow_Temperature_Cel changed from 70 to 69
Jan  7 19:09:55 my_pc rsyslogd: [origin software="rsyslogd" swVersion="8.16.0" x-pid="967" x-info="http://www.rsyslog.com"] start
Jan  7 19:09:55 my_pc rsyslogd: rsyslogd's groupid changed to 108
Jan  7 19:09:55 my_pc rsyslogd: rsyslogd's userid changed to 104

/dev/sdd 溫度日誌記錄很奇怪。你看,我沒有  一個 sdd。那是, sda 是我的SSD, sdb 和 sdc 是磁性硬盤驅動器,和 /dev/sr0 是一個DVD播放器。 /dev/sdd 甚至不作為特殊文件存在 /dev

來自其他日誌的行:

auth.log 顯示一些中國IP嘗試以root身份SSH進入我的機器,例如:

Jan  7 23:39:53 my_pc sshd[19697]: message repeated 3 times: [ Failed password for root from 218.65.30.53 port 51732 ssh2]
Jan  7 23:39:56 my_pc sshd[19697]: Failed password for root from 218.65.30.53 port 51732 ssh2
Jan  7 23:39:59 my_pc sshd[19697]: Failed password for root from 218.65.30.53 port 51732 ssh2
Jan  7 23:39:59 my_pc sshd[19697]: error: maximum authentication attempts exceeded for root from 218.65.30.53 port 51732 ssh2 [preauth]
Jan  7 23:39:59 my_pc sshd[19697]: Disconnecting: Too many authentication failures [preauth]
Jan  7 23:39:59 my_pc sshd[19697]: PAM 5 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=218.65.30.53  user=root

但我不認為這是相關的,因為這也是在掛起之後發生的。在上面提到的磁盤相關消息和掛起之間的任何其他日誌上沒有其他行。


2
2018-01-07 19:02


起源


日誌中是否包含任何可疑內容? - choroba
在做任何事情之前檢查你的系統日誌 - 老實說 - 你已經完成了什麼。在現代系統上沒有理由像這樣降級內核。既然你提到這些掛起不會在你工作時發生,你怎麼知道系統掛了?意思是你早上醒來,看到有什麼不對勁?也許一些省電/睡眠問題? - JakeGould
@JakeGould:我回到它並且它正在懸掛,這就是我所知道的......這不是一個睡眠問題 - 我認為 - 因為系統始終處於開啟狀態,大多數夜晚它都不會掛起。 - einpoklum
@choroba:排序,但我不確定這是實際問題還是只是紅鯡魚,請參閱編輯。 - einpoklum
你在圖形/ X-windows模式或控制台運行嗎?當它“掛起”時,你還有最後的屏幕內容(並且對鼠標或鍵盤沒有反應)嗎?還是黑屏?你能用Ctrl-Alt-Fx切換到其他控制台並在那裡進行任何操作嗎?網絡活動怎麼樣 - 你可以從另一個盒子ping機器嗎? - Dave M.


答案:


它可能是您的一個驅動器斷開連接然後重新連接但被檢測為新設備。根據我對linux服務器的經驗,如果舊​​設備沒有正確斷開並且內核仍然保留其字母,並且當它重新連接時,有時會發生這種情況。 它可能是您的一個驅動器出現故障或電纜未安全。 這實際上取決於控制器以及它如何處理設備。

因為你說你發現機器已經掛了,你不能真正戳它看看發生了什麼我會建議寫一個小的bash腳本不斷拉動所有驅動器的信息並將其寫入文件,最好是其中一個驅動器你確定工作,否則如果你嘗試在失敗的驅動器上寫它可能不會寫。腳本可能是這樣的:

#!/bin/bash 


date
echo "Starting device data dump" 
for drive in sda sdb sdc sdd
do
    echo "Dumping data for drive ${drive}"
    fdisk -l
    smartctl -a /dev/${drive}
    dmesg -T | tail -n50
done
echo "Ended device data dump"

把它放在cron每分鐘運行一次,並將輸出寫入文件

crontab -e

Crontab行添加:

* * * * * /usr/local/bin/logcommand.sh >> /var/log/disk-problem.log

手工檢查文件中的內容。您應該能夠看到sdd的智能數據,如型號,品牌,序列號,並將其與其他驅動器進行比較。如果其中一個斷開連接會有匹配,如果不是,你仍然可以獲得有關那個神秘的sdd驅動器及其可能的信息。

另外,檢查你的dmesg是否被寫入/ var / log中的某個文件。 dmesg應該打印設備斷開連接和檢測。

PS:此外,由於您的機器掛起時,您發現它可能是您的根設備,這給您帶來了問題,因為如果保持基本系統,沒有它,機器將無法運行。


3
2018-01-07 21:41



謝謝你的詳細解答,我會試一試。當然,我需要等到下一次結果,這裡甚至可能有海森堡效應,但我們會看到。 - einpoklum
查看所有日誌,這總是首先要做的事情,有些人可能會得到答案;)獲取掛起發生的日期/時間並在日誌中搜索,凍結前發生的事情,死亡前的最後一行:) - EvilTorbalan
所以,只有日誌中的其他東西是一些中國人試圖通過SSH作為root用戶來破解我的盒子。 - einpoklum
@einpoklum是 root 在您的系統上啟用了stil?以下是如何永久結束:Juts創建一個新用戶 sudo特權,鎖定root帳戶,繼續你的生活。我懷疑黑客攻擊是由SSH探測發生引起的,但它可能值得消除這樣的東西,所以你可以知道 - 保證 - 日誌中顯示的東西真的值得關注。 - JakeGould
@JakeGould:我的系統從未啟用過SSH登錄。但是想想我會安裝fail2ban並且可能會更改我的SSH端口號。儘管如此,我仍然相信懸掛與此無關。我們將看到磁盤日誌的內容。 - einpoklum


我不知道這是否有幫助,但我有類似的情況。 該系統是運行Linux Mint 18.3(XFCE)的Intel NUC,具有8Gb RAM和M2 SSD,因此非常類似於OP。

我的問題只在運行Thunderbird時顯示。我將所有Thunderbird數據導向另一台用作服務器的Linux Mint計算機。 Small Thunderbird帳戶工作(只是),但較大的帳戶會導致系統變得不穩定,而Thunderbird根本不會運行。

Linux Mint 18.3(XFCE)隨Linux Kernel 4.10.0-38提供,這在我的系統上運行良好 - Thunderbird和其他系統一樣工作。 但是,如果我使用內置的Mint升級包將Linux內核升級到4.10.0-42,則Thunderbird會導致上述問題。

我必須強調這個問題(使用較新的內核 - 4.10.0-42)只發生在我的NUC計算機上 - 其他系統在升級的內核中運行良好。

我的臨時解決方案是堅持使用4.10.0-38內核並在使用之前完全測試任何升級。


1
2018-01-14 11:13



努力+1。不過,我有點擔心使用早期的內核。 - einpoklum
這似乎不起作用。我確實試過在這里和那里切換我的內核版本,並沒有太大的影響。 4.13.x也遇到了這個問題 - einpoklum