是否可以提前设置程序的niceness值?

是否可以提前设置程序的niceness值?

我希望我的游戏和某些程序(例如 WINE)自动获得比其他程序更高的优先级,同时我可能还想调整其他一些东西(例如我的窗口管理器)的优先级别,使其也具有更高的优先级。

那么有没有什么方法可以在程序启动之前给它一个友好级别呢?例如,我希望 Steam 程序始终以良好级别 -20 运行,以使其优先于其他所有程序。我不想每次都像“nice -n -20 steam”一样在命令行中运行它。

我认为脚本对于这些程序来说可以很好地工作,但是对于服务之类的事情来说这并不能解决问题。例如,我可能想更改窗口管理器的nice值,它是由显示管理器启动的,而显示管理器是由服务启动的。

答案1

这就是nice 和renice 命令的目的。你已经走上了正路。

您可以根据您运行的桌面环境创建具有此类选项的程序启动器。

这是 Gnome-desktop 下的示例: https://linuxconfig.org/how-to-create-desktop-shortcut-launcher-on-ubuntu-18-04-bionic-beaver-linux

谨致问候,请随时向我询问更多详细信息。

答案2

建议:现实别名交互调用的命令。

这可以为每个用户完成(在您的 .bashrc 文件中),例如:alias slow_command="nice -n 16 command"全系统。例如,在类似 Debian 的设置中,您可以在/etc/profile.d/.

就是这样:如何为所有用户预设别名?

或者简单地编辑您的发射器。这可能是桌面快捷方式的一个不错的选择,并提供了更大的灵活性,因为您可以根据系统负载或当时的心情使用具有不同优先级的不同启动器。

如果你想将友善度设置为服务水平systemd 单元可以这样配置。看单位指令
我了解该Nice指令应在[Service]

相关内容