黑夜君临在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