依赖于磁盘交换的应用程序只能在全新启动后第一次尝试加载

依赖于磁盘交换的应用程序只能在全新启动后第一次尝试加载

(原文已删节,太多杂乱,语法不好,用下面的摘要代替)

截图此处有更多详细信息:
https://i.stack.imgur.com/8xfZq.jpg

主要症状:依赖磁盘交换的游戏只能快速完成加载全新启动后第一次(2 Gigs 的交换使用量在 40 秒内填充完毕,正常写入速度)

次要症状:在任何连续尝试再次加载游戏、第二次、第三次等时,游戏只有在交换区已填充后才能完成加载平均磁盘写入速度不超过2MB/s(加载时间将从90秒跳到最多7分钟,如果Swap为空会导致崩溃)

第三个症状:填充交换后(随着时间的推移正常日常使用),您可以使用 Swapoff 命令验证清空/刷新交换文件所需的时间,并使用运行 watch -n 1 free 的终端窗口实时监控它-h...在我的例子中,交换将以 2 MB/s 的平均速率非常缓慢地刷新(再次表明某些东西正在干扰 linux 上的 I/O 功能...磁盘交换很慢,而 Zram 交换仍然很快,不到 3 秒就被刷新,实时监控)

更新2:(一年后)
在更新发行版、新一轮测试等之后,我又发现了另一个发现:如果我尝试退出游戏并第二次、第三次等加载它,那么磁盘交换就会变成非常慢,磁盘无法满足 CPU 需求,并且游戏无法完成加载(或者确实花费了正常时间的 7 倍)
现在这是令人惊讶的部分:如果我注销桌面并再次登录,游戏再次快速加载,就像我重新启动了计算机一样。有些东西正在干扰磁盘 I/O,但我不确定到底是什么。

“解决方案”/临时解决方法:
注销并再次登录回桌面(在某些发行版中,您可能需要在 TTY 中使用命令 sudo Killall -u 用户名),
这似乎总体上“重置”了磁盘写入速度和交换访问速度(有什么想法吗? ?)

相关内容