AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1319588
Accepted
shinobody
shinobody
Asked: 2021-02-27 07:57:38 +0800 CST2021-02-27 07:57:38 +0800 CST 2021-02-27 07:57:38 +0800 CST

当 RAM 使用量激增时,Ubuntu 冻结

  • 772

这个问题持续了一段时间,但是当我从 18.04 升级到 20.04 后,感觉它变得非常频繁(而不是偶尔发生,几乎每天都会发生)。

每当事情发生时——在我看来就像是当 RAM 使用率变高时(我见过人们描述磁盘 I/O 的类似问题,但情况似乎并非如此)——系统边界冻结。第一分钟,系统会剧烈地跳动,我有一个短暂的机会来移动现在紧张的鼠标光标,以快速关闭导致问题的浏览器选项卡或应用程序。如果我不这样做,此时系统几乎永久冻结,顶部栏上的系统时钟停止更新,无论发生什么都不会解冻,我需要进行硬重置。

以前,当我打开太多选项卡时,这经常在 Firefox 上发生,但我安装了一个选项卡限制器扩展来缓解这种情况。但它一直在发生,当我在 GIMP 中处理更大的图像时,它会发生(有时),当我浏览一些无限滚动的网站时,比如 DeviantArt 重新设计或一些视频网站。我刚刚在 GIMP 中处理的像素艺术作品失去了半小时的进度。

这使我的系统使用起来真的很烦人。我不想这么说,但我在双启动中使用的 Windows 10 更稳定 - 这就是说,因为 W10 是我用过的最糟糕的操作系统。

这是一个 inxi -F 转储:

System:
  Host: shino-ProLiant-ML310-G5p Kernel: 5.4.0-66-generic x86_64 bits: 64 
  Desktop: Gnome 3.36.4 Distro: Ubuntu 20.04.2 LTS (Focal Fossa) 
Machine:
  Type: Desktop System: HP product: ProLiant ML310 G5p v: N/A 
  serial: <superuser/root required> 
  Mobo: N/A model: N/A serial: N/A BIOS: HP v: W08 date: 10/25/2010 
CPU:
  Topology: Dual Core model: Intel Xeon E3120 bits: 64 type: MCP 
  L2 cache: 6144 KiB 
  Speed: 1995 MHz min/max: N/A Core speeds (MHz): 1: 1995 2: 1995 
Graphics:
  Device-1: AMD ES1000 driver: N/A 
  Device-2: NVIDIA G86 [Quadro NVS 290] driver: nvidia v: 340.108 
  Display: x11 server: X.Org 1.20.9 driver: nvidia 
  unloaded: fbdev,modesetting,nouveau,vesa resolution: 1440x900~75Hz 
  OpenGL: renderer: Quadro NVS 290/PCIe/SSE2 v: 3.3.0 NVIDIA 340.108 
Audio:
  Device-1: Generalplus type: USB driver: hid-generic,snd-usb-audio,usbhid 
  Sound Server: ALSA v: k5.4.0-66-generic 
Network:
  Device-1: Broadcom and subsidiaries NetXtreme BCM5715 Gigabit Ethernet 
  driver: tg3 
  IF: enp3s4f0 state: down mac: 9c:8e:99:35:15:80 
  Device-2: Broadcom and subsidiaries NetXtreme BCM5715 Gigabit Ethernet 
  driver: tg3 
  IF: enp3s4f1 state: up speed: 1000 Mbps duplex: full 
  mac: 9c:8e:99:35:15:81 
Drives:
  Local Storage: total: 1.82 TiB used: 594.46 GiB (31.9%) 
  ID-1: /dev/sda model: LOGICAL VOLUME size: 1.82 TiB 
RAID:
  Hardware-1: Hewlett-Packard Smart Array G6 controllers driver: hpsa 
Partition:
  ID-1: / size: 910.88 GiB used: 594.46 GiB (65.3%) fs: ext4 dev: /dev/sda5 
Sensors:
  System Temperatures: cpu: 40.0 C mobo: N/A gpu: nvidia temp: 68 C 
  Fan Speeds (RPM): N/A 
Info:
  Processes: 288 Uptime: 2h 17m Memory: 3.84 GiB used: 2.86 GiB (74.6%) 
  Shell: bash inxi: 3.0.38 
20.04
  • 1 1 个回答
  • 1379 Views

1 个回答

  • Voted
  1. Best Answer
    Terrance
    2021-03-03T08:14:24+08:002021-03-03T08:14:24+08:00

    从https://en.wikipedia.org/wiki/Memory_paging#Swappiness它指出:

    Swappiness 是一个 Linux 内核参数,当无法从可用内存中满足内存分配请求时,它控制给予运行时内存换出的相对权重,而不是从系统页面缓存中删除页面。Swappiness 可以设置为 0 到 200(含)之间的值。 [18] 较低的值会导致内核更喜欢从页面缓存中逐出页面,而较高的值会导致内核更喜欢换出“冷”内存页面。默认值为 60;如果需要将冷页换回(例如与空闲的程序交互时),将其设置得较高可能会导致高延迟,而将其设置得较低(甚至为 0)可能会在文件已被逐出时导致高延迟缓存需要再次读取,但响应速度更快的程序。交换还可以进一步减慢 HDD,因为它涉及大量随机写入,而 SSD 没有这个问题。当然,默认值在大多数工作负载中效果很好,但任何预期任务的桌面和交互式系统可能希望降低设置,而批处理和较少交互的系统可能希望增加它。 [19]

    由于 Ubuntu 默认vm.swappiness值为60,因此我建议使用较低的值,即10,以便 RAM 中的非活动页面对交换的攻击性较小。

    运行以下命令设置值10(如果 .conf 文件中尚未设置值):

    echo "vm.swappiness = 10" | sudo tee -a /etc/sysctl.conf
    

    如果设置已存在,您可以复制并粘贴以下内容以将值更改为10:

    sudo sed -i "s/$(awk '/vm.swappiness/ {print $0}' /etc/sysctl.conf)/vm.swappiness\ =\ 10/" /etc/sysctl.conf
    

    然后激活更改:

    sudo sysctl -p
    

    您还可以尝试不同的值来查看最适合您的值。

    希望这可以帮助!

    • 2

相关问题

  • 如何在 18.04..20.04 上设置本地通配符 (127.0.0.1) 域解析?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve