几年前,一个神奇的“ 200行补丁"被添加到Linux内核。它旨在提高在Linux系统上同时运行的程序的响应能力。虽然有效,但开发人员Daniel Poelzleithner认为他可以做得更好。
要在Linux系统上获得最终的响应能力,您可能需要看看Ulatencyd。
警告:要试用Ulatencyd,您需要动手深入终端,从头开始编译程序。换句话说,这不是初学者的最佳选择。如果需要的话,可以事先查看一些终端命令。
关于Ulatencyd
Ulatencyd是Linux的系统守护程序,它为内核提供了一些提示和限制。如何处理流程。它使用称为cgroup的东西来做到这一点,它们本质上是不同的优先级。具有图形用户界面且需要响应的流程(例如桌面环境)将比不需要那么多关注的流程具有更高的优先级,并且不会因口吃而引起严重问题。
我认为这种最小的方法(指的是200行补丁程序)在某些情况下是好的,但不能提供真正的低延迟桌面所需的足够的灵活性。完美的桌面排程需要很多启发式方法,这些启发式方法不属于内核。例如,该补丁程序无法保护您免于死亡交换,叉子炸弹,无法检测到您实际上正在使用哪个进程并向其提供更多cpu份额,无法为jackd等进程提供实时优先级等信息。
安装
要在Ubuntu上安装Ulatencyd,请运行以下命令:
sudo apt-get install libglib2。 0-dev libdbus-glib-1-dev liblua5.1-0-dev lua-posix-dev procps doxygen libmoose-perl pandoc python-dbus python-qt4 python-qt4-dbus xcb xcb-proto libxau-dev libprocps3-dev cmake
cmake。 && make DEBUG = 1 && make docs && sudo make install
最后,运行以下命令以启动ncyncyd:
sudo / usr / local / sbin / ulatencyd -v -f / var / log / ulatencyd
您还可以根据需要选择重新启动系统。
注意事项
请注意,有人报告说安装Ulatencyd会导致内核崩溃。普遍的共识似乎是那些内核恐慌是内核中的错误而不是Ulatencyd问题的结果。但是,当使用其Git存储库中最新的Ulatencyd代码和Ubuntu 14.04的最新每日映像时,我没有任何问题。
结果
我发现Ulatencyd确实可以有所不同,尽管您的经验可能有所不同。如果您已经在使用快速的计算机,那么看到差异的可能性就很小,因为您已经有足够的资源来为每个过程提供所需的关注。对于较慢的计算机,看到差异的可能性更大,但这取决于您的工作量。
响应性是一个相当主观的统计信息,但是可以代表它的最接近的指标是平均负载。 Google+用户Rafal Cieslak结合另一个守护程序Verynice尝试了Ulatencyd,发现平均负载从2.2 – 2.8降至0.8 – 1.5。我还没有看到单独使用ncyncyd会有什么改善,但是空闲负载从〜0.5下降到〜0.2,繁忙负载从〜2.4下降到〜1.8-2.0。无论如何,这都是可以衡量的改进。
对于那些关心的人,开发人员Poelzleithner声称该软件是有效的:
我能够在我的计算机上运行make -j 40双核计算机,同时可以正常观看完整的高清电影,而kde的ui仍然感觉不错。
对于双核系统,这实际上是非常令人印象深刻的,因为“ make -j 40"命令意味着他正在编译一个同时运行40个线程的软件-可以确保充分利用CPU。
结论
请记住,该程序不一定会使您的计算机速度更快(因为它可以在更短的时间内完成更多的工作),而只是使其具有更高的响应能力(因为它会更加注意与您交互的事物,并在事后有所作为)。但是,这并不意味着Ulatencyd不值得尝试-响应系统对用户的困扰可能要小得多。
如果您仍在寻求提高速度和响应能力的方法,请不要别忘了查看有关加速Linux系统的这四个技巧。
标签: