概述和症狀
每當我的系統耗盡 RAM 並開始嚴重影響交換分區時,我的系統幾乎完全凍結。一切都凍結了,包括滑鼠和鍵盤,但有一些例外:
- 硬碟機指示燈似乎指示某些後台活動
- 風扇有時會上下旋轉,表示 CPU 正在活動
nmap -sT
來自另一台電腦的(TCP 握手)顯示開放端口,表示 NIC 正在 OSI 傳輸層進行回應
沒有任何記錄表明導致此情況的原因。
在一次罕見的情況下,我記得在系統凍結大約一兩分鐘後,滑鼠能夠移動一點。當有足夠的可用 RAM 時,似乎不會出現此問題,只有當交換分區開始承受大量負載時,才會出現此問題。
這是指示可用 RAM 和交換儲存的輸出free
,目前交換使用量不大。這通常會進入系統凍結的危險區域,儘管我已經目睹了高達 12MB 的交換空間的使用而沒有出現問題。
總記憶體:32GB
總互換:24GB
total used free shared buff/cache available
Mem: 31Gi 26Gi 1.7Gi 1.4Gi 3.5Gi 3.5Gi
Swap: 22Gi 3.9Gi 18Gi
可能是什麼原因造成的
我已經擁有這台機器 5 年了,但這種行為是在去年發生以下變化後開始出現的:
- 將處理器從 Intel i5 升級為 Intel Core i7 4790K
- 將我的 GPU 從 Asus 960 GTX 升級到 EVGA 2070 RTX
重現這種行為是相當一致的,我編寫了一個腳本來啟動後台 Python 進程,發送請求直到系統記憶體耗盡。這樣做我能夠連續兩次重現系統凍結。
故障排除和緩解
LinuxQuestions.org 上的這個舊線程幾乎完全反映了我的問題,我已執行以下操作來嘗試緩解此問題,但沒有成功:
- 調整RAM時序以降低電壓
- 將所有 DIMM 更換為 1600MHz 頻率和 1.5 電壓規格(無超頻)
- 更新了 BIOS 韌體
我嘗試過的其他事情:
- 交換分區的 SMART 長短測試
fsck
掃描交換分割區
系統詳情
核心:Linux 5.4.0-73-通用#82-Ubuntu SMP / x86_64
磁碟和分割區:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 238.5G 0 disk
├─sda1 8:1 0 953M 0 part /boot/efi
├─sda2 8:2 0 28G 0 part /
└─sda3 8:3 0 209.6G 0 part /usr
sdb 8:16 0 1.8T 0 disk
├─sdb1 8:17 0 22.4G 0 part
├─sdb2 8:18 0 144.4G 0 part
├─sdb4 8:20 0 9.3G 0 part
├─sdb5 8:21 0 1.7T 0 part
└─isw_dhciiffhhj_Groovy 253:0 0 1.8T 0 dmraid
├─isw_dhciiffhhj_Groovy1 253:1 0 22.4G 0 part [SWAP]
├─isw_dhciiffhhj_Groovy2 253:2 0 144.4G 0 part /var
├─isw_dhciiffhhj_Groovy4 253:3 0 9.3G 0 part /srv
└─isw_dhciiffhhj_Groovy5 253:4 0 1.7T 0 part /home
sdc 8:32 0 1.8T 0 disk
├─sdc1 8:33 0 22.4G 0 part
├─sdc2 8:34 0 144.4G 0 part
├─sdc4 8:36 0 9.3G 0 part
├─sdc5 8:37 0 1.7T 0 part
└─isw_dhciiffhhj_Groovy 253:0 0 1.8T 0 dmraid
├─isw_dhciiffhhj_Groovy1 253:1 0 22.4G 0 part [SWAP]
├─isw_dhciiffhhj_Groovy2 253:2 0 144.4G 0 part /var
├─isw_dhciiffhhj_Groovy4 253:3 0 9.3G 0 part /srv
└─isw_dhciiffhhj_Groovy5 253:4 0 1.7T 0 part /home
sdd 8:48 0 465.8G 0 disk /opt
系統:
H/W path Device Class Description
=========================================================
system All Series (All)
/0 bus Z97-PRO GAMER
/0/0 memory 64KiB BIOS
/0/45 memory 32GiB System Memory
/0/45/0 memory 8GiB DIMM DDR3 Synchronous 1333 MHz (0.8 ns)
/0/45/1 memory 8GiB DIMM DDR3 Synchronous 1333 MHz (0.8 ns)
/0/45/2 memory 8GiB DIMM DDR3 Synchronous 1333 MHz (0.8 ns)
/0/45/3 memory 8GiB DIMM DDR3 Synchronous 1333 MHz (0.8 ns)
/0/54 processor Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz
/0/54/55 memory 256KiB L1 cache
/0/54/56 memory 1MiB L2 cache
/0/54/57 memory 8MiB L3 cache
/0/100 bridge 4th Gen Core Processor DRAM Controller
/0/100/1 bridge Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller
/0/100/1.1 bridge Xeon E3-1200 v3/4th Gen Core Processor PCI Express x8 Controller
/0/100/1.1/0 display TU104 [GeForce RTX 2070 SUPER]
/0/100/1.1/0.1 multimedia TU104 HD Audio Controller
/0/100/1.1/0.2 bus TU104 USB 3.1 Host Controller
/0/100/1.1/0.2/0 usb5 bus xHCI Host Controller
/0/100/1.1/0.2/1 usb6 bus xHCI Host Controller
/0/100/1.1/0.3 bus TU104 USB Type-C UCSI Controller
/0/100/14 bus 9 Series Chipset Family USB xHCI Controller
/0/100/14/0 usb3 bus xHCI Host Controller
/0/100/14/0/4 input Back-UPS NS 1350M2 FW:954.e3 .D USB FW:e3
/0/100/14/0/9 input Gaming Mouse G502
/0/100/14/0/a input Corsair K70 RGB Gaming Keyboard
/0/100/14/0/d multimedia Blue Microphones
/0/100/14/0/e bus USB2.0 Hub
/0/100/14/0/e/2 multimedia Logitech Wireless Headset
/0/100/14/0/e/4 multimedia C922 Pro Stream Webcam
/0/100/14/1 usb4 bus xHCI Host Controller
/0/100/16 communication 9 Series Chipset Family ME Interface #1
/0/100/19 eno1 network Ethernet Connection (2) I218-V
/0/100/1a bus 9 Series Chipset Family USB EHCI Controller #2
/0/100/1a/1 usb1 bus EHCI Host Controller
/0/100/1a/1/1 bus USB hub
/0/100/1b multimedia 9 Series Chipset Family HD Audio Controller
/0/100/1c bridge 9 Series Chipset Family PCI Express Root Port 1
/0/100/1c.3 bridge 82801 PCI Bridge
/0/100/1c.3/0 bridge ASM1083/1085 PCIe to PCI Bridge
/0/100/1d bus 9 Series Chipset Family USB EHCI Controller #1
/0/100/1d/1 usb2 bus EHCI Host Controller
/0/100/1d/1/1 bus USB hub
/0/100/1f bridge Z97 Chipset LPC Controller
/0/100/1f.2 storage 9 Series Chipset Family SATA Controller [AHCI Mode]
/0/100/1f.3 bus 9 Series Chipset Family SMBus Controller
/0/1 system PnP device PNP0c01
/0/2 system PnP device PNP0c02
/0/3 system PnP device PNP0b00
/0/4 generic PnP device INT3f0d
/0/5 system PnP device PNP0c02
/0/6 system PnP device PNP0c02
/0/7 communication PnP device PNP0501
/0/8 system PnP device PNP0c02
/0/9 scsi0 storage
/0/9/0.0.0 /dev/sda disk 256GB Samsung SSD 850
/0/9/0.0.0/1 /dev/sda1 volume 952MiB Windows FAT volume
/0/9/0.0.0/2 /dev/sda2 volume 27GiB EFI partition
/0/9/0.0.0/3 /dev/sda3 volume 209GiB EFI partition
/0/a scsi2 storage
/0/a/0.0.0 /dev/sdb disk 2TB ST2000DM001-1ER1
/0/a/0.0.0/1 volume 22GiB Linux swap volume
/0/a/0.0.0/2 volume 144GiB EXT4 volume
/0/a/0.0.0/4 volume 9537MiB EFI partition
/0/a/0.0.0/5 volume 1686GiB EXT4 volume
/0/b scsi3 storage
/0/b/0.0.0 /dev/sdc disk 2TB ST2000DM001-1ER1
/0/b/0.0.0/1 volume 22GiB Linux swap volume
/0/b/0.0.0/2 volume 144GiB EXT4 volume
/0/b/0.0.0/4 volume 9537MiB EFI partition
/0/b/0.0.0/5 volume 1686GiB EXT4 volume
/0/c scsi4 storage
/0/c/0.0.0 /dev/sdd volume 465GiB Samsung SSD 860
/1 power To Be Filled By O.E.M.
/2 vethc2afe35 network Ethernet interface
這種經驗讓我感到士氣低落和洩氣,這種情況經常發生,足以顯著影響我的工作效率。我很想從上到下更換整個系統,但我懷疑這個問題也會跟著我到新系統。
答案1
系統「凍結」通常是由於運行太多、太大的程式以及耗盡可用記憶體而引起的。用於free
查看是否有交換空間,請閱讀man mkswap swapon fstab
以建立一些交換空間。交換空間必須是連續的。使用mkswap
或fallocate
,不dd
。傳統上,建議使用 1.5 × RAM 的交換空間,但 YMMV。如果您不打算使系統休眠,則 RAM 可以小於 1.0 ×。