我正在使用 Ubuntu 18.04,从几周前开始(我说不出具体时间),当有磁盘 I/O 时,我的系统就会出现死机。
我的系统安装在 SSD 的 ext4 分区上。
即使负载不是很高,也会出现一些短暂的冻结,鼠标移动不再流畅,Plasma 响应缓慢,应用程序经常处于“等待磁盘”状态。
这种情况发生在任何类型的磁盘使用中:软件启动、文件传输。当系统开始交换时,它几乎变得无法使用。
SMART 报告中没有错误,并且我在同一磁盘上使用 Windows,没有任何可比的东西,所以这应该不是硬件问题。
我已经检查了分区偏移量并更改了 IO 调度程序(https://blog.vacs.fr/index.php?post/2010/08/28/Solving-Linux-system-lockup-when-intensive-disk-I/O-are-performed),并且保持不变。
我的印象是它与中断管理有关,但我不知道如何检查。
我现在没有什么主意了,希望你能帮忙!
编辑:
sysctl vm.swappiness
vm.swappiness = 60 #default
free -h(启动时)
total used free shared buff/cache available
Mem: 3.8G 780M 1.6G 117M 1.4G 2.6G
Swap: 3.7G 0B 3.7G
我找到了一种可重复的方法来创建此冻结,即使用 GParted 进行分区扫描。启动时没有问题,但当第一个字节写入交换时似乎会出现冻结。我正在检查我的交换配置。
编辑2:
问题很快就出现了。内存占用如此之高,程序已经卡住了:
total used free shared buff/cache available
Mem: 3.8G 1.7G 530M 267M 1.5G 1.5G
Swap: 3.7G 48M 3.7G
答案1
来自评论...
在尝试了 vm.swappiness=80 之后,我们决定尝试一个更新的内核。我们从https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.5.6/,到目前为止机器运转正常!
最终,根据用户的常规应用、带有 15 个选项卡的 Firefox 和 IDE,可能需要更多 RAM。以相同类型/大小的 RAM 成对安装,以利用内存交错。例如:2 x 4G RAM,或 2 x 8G RAM。
答案2
(低信誉不允许评论...)
有没有找到缓解此问题的方法?似乎它描述了我在 Debian 上遇到的相同问题。
我在 Debian 中也遇到了 I/O 磁盘问题。这很奇怪,因为我甚至不知道如何描述这个问题,当你不知道具体要搜索什么时,很难找到解决方案。
似乎还有其他使用 Debian 的人也在抱怨严重的 I/O 问题。(多年来也是如此)
有什么东西“锁定”了整个 I/O 系统。
我在 Manjaro 中没有遇到这些问题,你能在 Manjaro 上做一个测试看看它在那里的表现是否不同吗?(这样我们就可以确定这是 Debian 本身的问题)
就我而言,Cities Skylines 是一个存在问题的 C#/DotNet 应用程序(DotNet 游戏将占用您的所有内存和交换空间,无论您有多少空间)
带有更多详细信息的屏幕截图:
https://i.stack.imgur.com/jDXtP.jpg
如果有人知道命令行启动参数,我可以将其用于 C# 应用程序,以便进行更多测试,或者以某种方式限制所需的磁盘线程数量,那就太好了。磁盘似乎被请求淹没了,看起来就是这样。