如何在Linux下获得更好的桌面性能?

如何在Linux下获得更好的桌面性能?

通常我不太关心桌面性能,因为我的服务器不运行任何图形用户界面。但在家里,我运行一些较旧的硬件(奔腾),有时会变得非常缓慢(KDE 中的鼠标移动)。我观察到,在这种情况下,正在进行一些磁盘 io 后台活动。

我如何设置较低的磁盘优先级,以便我的 gui 得到更多关注?

我已经尝试将我的SATA驱动器的磁盘调度程序从cfq设置为as - 但这没有帮助。

我记得很久以前我在 OpenSuSE 上遇到了类似的问题 - 我在那里设置了一个不同的通用调度程序滴答率(据我记得,默认值较短)。但我不记得那到底是什么,也不记得如何在我当前的 Linux(CentOS 5,32 位)上设置它。

欢迎任何提示。

答案1

听说ulatencyd

来自其README

==什么是延迟==

Ulatency 是一个守护进程,它控制 Linux 内核如何在运行的进程上使用其资源。它使用动态 cgroup 向内核提供进程的提示和限制。 [...]

==它试图解决什么问题==

Linux 调度程序在为所有进程提供可用资源方面做得非常好,但是这可能不是桌面情况下的最佳用户体验ulatencyd监视系统并将正在运行的进程分类到 cgroup 中。那些疯狂运行、导致大量交换而减慢系统速度的进程将被隔离。

如果我没记错,下面部分使用了(ionice。我从未尝试过,但如果它信守承诺,可能会对您有所帮助。

更多信息请参见其维基百科。

答案2

您有 >= 2.6.38 的内核吗?如果没有,您可能需要升级内核,因此它包括“创造奇迹的约 200 行 Linux 内核补丁”。该补丁极大地提高了 Linux 桌面的响应能力。正如 Mikko Rantalainen 指出的那样,自从引入此补丁以来,我的桌面唯一一次变慢的时间就是交换时,即使使用最新版本的 X。

答案3

您可以尝试使用 ionice(然后返回 cfq,大多数时候它更快),但我不认为它可以在那种旧硬件上创造奇迹。

如果您确实需要在 X 上运行 X,尤其是 KDE,并期望它能够正常运行,我建议您进行硬件升级。

答案4

无论如何,我最近从 Ubunto 3.0.16 中的标准内核转向了低延迟内核,桌面性能的变化是惊人的。这需要一些工作,因为 Ubuntu 发行版中包含的 Nvidia 驱动程序无法加载低延迟内核,但 Nvidia 网站上的完全相同的驱动程序版本运行良好。我以前很少但偶尔会跳过 WinAmp(在 Wine 下),使用新内核后不再会这样,而且现在切换虚拟桌面是即时的。

相关内容