如何在 Debian Linux 系统中提高任务的优先级?经过一番研究后,我发现我可以使用nice
命令增加任务的优先级,如果我想增加现有任务的优先级,那么我可以使用该renice
命令。
在一些教程中提到,nice 值从 0 到 99 变化,但在一些教程中指出,nice 值从 -20 到 19 变化。哪一个是正确的?
如何增加 GUI 任务的好值?如果我使用终端进行复制,那么我可以使用
nice
命令提高其优先级,但是如何提高使用 GUI 完成的任务的优先级(例如:通过 GUI 将文件从 USB 复制到系统)是否可以在每次运行任务时设置任务的优先级?我想永久设置通过 GUI 复制文件的最高优先级。
答案1
您几乎无法提高 USB 驱动器的写入速度。虽然nice
可以更改分配给进程的 CPU 量,但大多数对 USB 驱动器(尤其是闪存驱动器)的写入都受到设备写入信息的速度和不是通过分配多少CPU。
换句话说,如果系统所做的唯一事情就是写入闪存驱动器,您会发现它需要大约相同的时间才能完成。
答案2
好的值是从 -20 到 19。从手册页 ( man nice
):
以调整后的良好程度运行 COMMAND,这会影响进程调度。如果没有命令,则打印当前的良好程度。 Niceness 范围从 -20(最有利的调度)到 19(最不有利)。
默认情况下,进程以nice值0启动。因此,如果您希望特定进程的优先级较高,请将其nice值设置为-19。如果你想让它好看,那么它的值就是20。
笔记:这有点倒退,只要记住你的过程是不是很好,因此是负数。
列出好的价值观
您可以使用该命令ps
查看您的进程的nice值是多少。命令开关-lu saml
将列出 user 的所有进程saml
。这里我们只显示前 10 个。
$ ps -lu saml | head -10
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
0 S 500 1609 1 0 80 0 - 13982 poll_s ? 00:00:01 mission-control
0 S 500 1703 1 0 80 0 - 110161 poll_s ? 00:00:01 notification-da
1 S 500 2017 1 0 80 0 - 57922 poll_s ? 00:00:11 gnome-keyring-d
4 S 500 2025 2008 0 80 0 - 27873 wait ? 00:00:00 bash
1 S 500 2034 1 0 80 0 - 5558 poll_s ? 00:00:00 dbus-launch
1 S 500 2035 1 0 80 0 - 6184 poll_s ? 00:04:06 dbus-daemon
0 S 500 2098 3240 0 80 0 - 28877 wait pts/9 00:00:05 bash
0 S 500 2121 2025 0 80 0 - 80191 poll_s ? 00:00:03 gnome-session
0 S 500 2126 1 0 80 0 - 36231 poll_s ? 00:00:45 gconfd-2
...
**注意:* 该NI
列显示了良好的值。
雷尼辛
您renice
只需知道任何进程的进程 ID 即可。此命令会将 PID 1234 增加到 11 (10+1):
$ renice +1 1234
您可以显式设置好级别:
$ renice -n 15 1234
您还可以为特定用户的所有进程设置良好级别:
$ renice -n 15 -u someuser
图形用户界面
您可以使用系统监视器应用程序(通常在菜单中)或命令gnome-system-monitor
来调出一个 GUI,您可以在其中更改进程的良好级别。