概述和症状

概述和症状

概述和症状

每当我的系统耗尽 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 ×。

相关内容