(我目前正在使用Ubuntu 14.04 LTS,GNOME环境)
tl; dr如何强制进行更多的内存交换(Swapiness已经为100)?
我最近经历了很多系统冻结/崩溃。通常在访问繁忙的网站时。我已经在tty上加载了htop,已经发生了太多事情,所以我可以切换到它并终止我的浏览器(因为GUI没有响应)。但是,有时我需要使用REISUB。
我认为GNOME可能比Unity更好,因为我的Debian系统没有问题,而且确实做到了,但是我的内存仍然很高,并且死机了。
我看了一下free -m
今天,发现我的交换显示已使用0。输出:
total used free shared buffers cached
Mem: 1821 1673 148 221 40 643
-/+ buffers/cache: 989 832
Swap: 1933 0 1933
我暂时交换为100(sudo sysctl vm.swappiness=100
)。结果仍然是相同的(即使运行到接近最大系统内存使用量,也将使用0)。
我看着这个答案:
如何查看系统是否正在交换?
不幸的是,在我撰写本文时,我的系统进行了更新,并且我的软件包已锁定,因此我无法安装this(sar
),也不确定要包含哪个软件包才能提供另一个输出。
我已经查看了fstab,并且交换分区已正确使用。
# swap was on /dev/sda3 during installation
UUID=10fdfed2-1fde-4d9f-a8f1-3d2376b0ffcc none swap sw 0 0
我在Debian OS上使用了共享交换分区(双引导,单独的分区,共享交换)。但是,分区不锁定,我做了一个快速swapoff ...
,swapon ...
和swapon -s
看它是否可能会承认我的交换,并开始交换。它似乎仍然处于低交换状态(84 hooray),但是我的内存使用率超过90%。Chromium的内存使用率约为13%,GNOME为17%。
我不在乎是否被迫慢下来,但是我不能被迫进入完全系统冻结状态(无法访问TTY,不能执行Ctrl+ Alt+ Backspace,只能Alt+ SysReqR,E,I,S,U,B )
我在使用12.04 LTS(预包装)时遇到了同样的问题,但是最近使用14.04 LTS。
底线:如何强制进一步交换和/或控制进程,以免引起系统稳定性问题?
(侧面说明:Debian可以正常工作,但鼠标触摸板问题除外)
输出dmesg | grep error
:
[ 26.646691] EXT4-fs (sda2): re-mounted. Opts: errors=remount-ro
这是Ubuntu分区。除sda7外,Debian分区上的错误相同。
dmesg
smartmontools
然后运行smartctl -a /dev/sda
吗?
+/- buffers/cache
行以获取系统使用的ram的实际数量。请参阅linuxatemyram.com以获取解释。冻结的原因不是因为您的内存较低。它可能是ram坏,或者是视频卡,cpu或类似问题。
dmesg
错误吗?