黑夜君临在linux上运行的帧数异常的低,而且cpu和gpu的占用率都很低,google了一番于是在github proton issue里找到了答案

https://github.com/ValveSoftware/Proton/issues/8751#issuecomment-2957426376

https://www.phoronix.com/news/Linux-Splitlock-Hurts-Gaming

因为某些游戏或反作弊/驱动/运行库会触发 split lock,Linux 检测到后会对相关进程限速,避免它拖慢整机。

这个机制对系统公平性有利,但对游戏来说就有可能表现为帧率下降、卡顿、加载变慢或输入延迟增加。

关闭 kernel.split_lock_mitigate=0 后,内核不再处罚触发进程,所以游戏就能恢复性能;代价是如果程序继续大量触发 split lock,可能拖慢整个系统的响应。

对于日用的linux pc来说我认为是完全可以关掉的并且不会有太大影响。

具体的修复方法如下(一次性&立刻生效)

sudo sysctl kernel.split_lock_mitigate=0

如果想要恢复原来的就改为1就行了

sudo sysctl kernel.split_lock_mitigate=1

持久化需要向/etc/sysctl.d/99-splitlock.conf中添加

kernel.split_lock_mitigate=0