有时我的 Ubuntu 16.04 LTS(i3 和 4GB RAM)系统挂起得非常严重,以至于我无法复制粘贴文本。
我通常会打开系统监视器来监视我的使用情况,当我检查它时,我发现我有足够的资源可以无挂起使用。
我应该检查什么?系统监视器似乎不可靠?我有足够的硬盘可用空间。
硬盘规格
命令:sudo smartctl -a /dev/sda
结果:
smartctl 6.5 2016-01-24 r4214 [x86_64-linux-4.4.0-121-generic] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Model Family: Western Digital Blue Mobile
Device Model: NDC ND10JPVX-7SJC3T0
Serial Number: WXC1A17AD6CD
LU NNN Device Id: 5 0014ee 607557602
Firmware Version: 02.01A02
User Capacity: 1,000,204,886,016 bytes [1.00 TB]
Sector Sizes: 512 bytes logical, 4096 bytes physical
Rotation Rate: 5400 rpm
Device is: In smartctl database [for details use: -P show]
ATA Version is: ACS-2 (minor revision not indicated)
SATA Version is: SATA 3.0, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Fri May 4 09:48:31 2018 IST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
答案1
这个问题有很多可能的答案:
该计算机拥有什么类型的硬盘?
如果您有一个常规 HDD,那么导致系统挂起的原因是交换过程,操作系统正在使用硬盘内存来存储应存储在 RAM 中的信息。
如果您使用的是 SSD 驱动器,交换也会很慢,但不会像第一种情况那么慢。通过读取 /proc/sys/vm/swappiness 文件检查您的“swappiness”,默认值为 60,您可以尝试将其更改为 10(甚至更少),看看会发生什么。这样,系统只会在 90% 的 RAM 内存繁忙时进行交换。
从 :https://www.kernel.org/doc/Documentation/sysctl/vm.txt
交换性
此控制用于定义内核交换内存页面的积极程度。值越高,积极程度越高;值越低,交换量越少。
默认值为 60。
要更改 swappiness 级别,您需要运行此命令:
echo 10 | sudo tee --append /proc/sys/vm/swappiness
您也可以尝试较低的值。
如果没有任何效果,您应该考虑升级到 8 GB RAM 或在云虚拟机(AWS、Google Cloud 等)上运行繁重的进程。