这篇文章谈论的是 Linux 中的好命令. 在 Linux 中,每个进程都有一个 不错的价值 授予它。 该值影响进程的调度,从而确定每个进程所花费的 CPU 数量。 “好的价值越多,假定的优先级就越低”。 这最终意味着进程越友好,它就越能让其他进程获得 CPU。
nice 值范围从 -20 到 19 其中 -20 表示一个进程不好,因此必须给予更多优先级,而 19 是最好的进程,因此允许其他进程先于自己访问资源。
还有另一个优先级在起作用,它表示内核眼中的实际优先级。 Nice Value 不是实时优先级值,但可以被视为向内核暗示特定进程应具有的优先级范围。
监控nice值
我们不能在监控它之前影响它。 因此,Linux 有一组系统监控命令,如 top、atop 和 htop,可用于计算系统中每个进程的好值。
使用标准的 top 命令
top
是一个简单的命令,它提供有关每个进程使用系统资源的信息。 这包括与 CPU 调度相关的知识。 通过打字 top
在终端我们得到:
两个相邻的列表示每个进程的优先级相关值。 这 PR
列表示进程的实际内核给定优先级,而 NI
列提供了每个过程的尼斯价值。 如果用户想进一步了解 top 命令,我们有一篇基于 top 命令的完整文章。
使用 htop 命令
htop
是一个交互式工具,用于显示系统资源的使用情况。 它支持搜索和过滤值以方便用户。 我们只需输入 htop
以获取所有相关信息。
第四列表示nice 值。 此实用程序在单击特定列名称时对进程进行排序。 在上图中,所有进程都是按照nice值的降序排列的。 好奇的读者可以访问这里了解有关 htop 命令的更多信息。
显示当前的niceness
不带任何参数的 nice 命令显示的是 bash 在终端上运行。
如上图所示,默认值设置为 0
. 这意味着使用此终端运行的任何命令都将具有相同的 nice 值。
Linux 中 nice 命令的标准用法
这 nice
命令可用于使用用户指定的 nice 值启动进程。 这基本上改变了内核分配的实际优先级。
让我们运行一个例子来有效理解:
sudo nice -n <VALUE> <COMMAND>
在上面的代码片段中,我们启动 htop
具有很好价值的实用程序 -10
. 我们可以在命令的输出中引用结果:
默认情况下, htop
以很好的值运行 0
. 必须适当注意,要运行nice 值小于0 的命令,需要root 权限。
为 bash
而不是使用 nice
对于我们创建的每个进程的命令,我们可以为当前进程设置一个特定的 nice 值 bash. 它是通过以下方式完成的:
sudo nice -n <VALUE> bash
结果可以被注意到使用相同的 htop
上面启动的命令:
这 htop
命令继承了 nice 值 bash 这是用来运行它的。
结论
虽然 nice
command 的用法很简单,技术性也较低,但它在进程调度的上下文中是一个重要的命令。 我们有很多关于 Linux 命令的文章值得一读。 确保你检查出来。