概述和症狀

概述和症狀

概述和症狀

每當我的系統耗盡 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以建立一些交換空間。交換空間必須是連續的。使用mkswapfallocate,不dd。傳統上,建議使用 1.5 × RAM 的交換空間,但 YMMV。如果您不打算使系統休眠,則 RAM 可以小於 1.0 ×。

相關內容