如何在linux上使用nice和renice设置进程优先级

nice和renice命令允许您通过调整进程的优先级来微调内核处理进程的方式。阅读本教程,了解如何在类似Linux和Unix的操作系统(如macOS)中使用它们。...

nice和renice命令允许您通过调整进程的优先级来微调内核处理进程的方式。阅读本教程,了解如何在类似Linux和Unix的操作系统(如macOS)中使用它们。

这都是一个过程问题

在您的Linux或类Unix计算机中,甚至在您启动要使用的应用程序之前,还会有许多进程在运行。这些进程中的大多数是Linux本身的重要元素,或者是支持图形桌面环境的进程。幕后有很多事情。当然,只有这么多的系统资源和CPU时间。Linux内核是所有这些进程的控制器。

内核必须决定哪些进程现在得到关注和资源,哪些进程必须等待。内核不断地处理进程和优先级,以确保计算机尽可能平稳地运行,并确保所有进程都得到适当的份额。有些工序得到优待。它们对计算机的一般操作是如此重要,以至于它们的需求必须排在第一位,比如说,你的浏览器。

好的价值

用于确定内核如何处理进程的标准之一是nice值。每个过程都有很好的价值。nice值是一个介于-19到20之间的整数。所有标准进程都是以nice值0启动的。

这里的技巧是nice值越高,您的进程对其他进程的影响就越大。换句话说,高nice值告诉内核这个进程愿意等待。负数是友善的反面。负的nice值越大,过程就越自私。它试图获得尽可能多的CPU时间,而不考虑其他进程。

Advertisement

我们可以使用nice命令来设置进程启动时的nice值,也可以使用renice来调整正在运行的进程的nice值。

不错的命令

我们可以使用nice命令来调整程序启动时的nice值。这允许我们增加或减少内核相对于其他进程赋予进程的优先级。

假设一个程序员写了一个叫做阿克曼的程序。它计算阿克曼函数。它是CPU和内存密集型的。程序员可以使用以下命令启动程序:

./ackermann

如何在linux上使用nice和renice设置进程优先级

我们可以使用top命令查看正在运行的程序。

top

如何在linux上使用nice和renice设置进程优先级

我们可以在顶部看到阿克曼计划的细节。nice值是“NI列”中的数字。如我们所料,它被设置为零。

让我们重新启动它,这一次让它不那么苛刻。我们将ackermann程序的值设置为15,如下所示。输入nice,一个空格,-15,另一个空格,然后输入要启动的程序的名称。在我们的示例中,我们虚构的程序员使用./ackermann。

nice -15 ./ackermann

如何在linux上使用nice和renice设置进程优先级

Advertisement

请注意,“-15”不是负15。是正十五。需要“-”来告诉nice我们正在传入一个参数。要表示负数,必须键入两个“-”字符。

如果我们现在重新开始,我们可以看到阿克曼行为的变化。

top

如何在linux上使用nice和renice设置进程优先级

ackermann的值为15,它不会占用最多的CPU时间。GNOME和Rhythmbox都使用了更多。我们已经控制了阿克曼一点。

现在让我们做相反的,给阿克曼一个很好的负值。注意使用两个“-”字符。要使应用程序更自私,更不友好,必须使用sudo。任何人都可以让自己的应用程序更漂亮,但只有超级用户才能让自己更自私。

sudo nice --10 ./ackermann

如何在linux上使用nice和renice设置进程优先级

让我们跑上去看看有什么不同。

top

如何在linux上使用nice和renice设置进程优先级

这次ackermann有一个很好的值-10,它又回到了第一行,比以前消耗了更多的CPU时间。

雷尼斯命令

renice命令允许我们调整正在运行的进程的nice值。我们不需要停止它,用nice重新启动它。我们可以随时设置一个新值。

Advertisement

renice命令将进程的进程ID或PID作为命令行参数。我们可以从顶部的“PID”列中提取进程ID,也可以使用ps和grep为我们找到它,如下所示。显然,您将键入用户的名称而不是dave,以及您感兴趣的进程的名称而不是ackermann。

ps -eu dave | grep ackermann

如何在linux上使用nice和renice设置进程优先级

既然我们有了PID,我们就可以把它和renice一起使用了。我们将把阿克曼设置为一个更好的行为,值为5。要更改正在运行的进程的nice值,必须使用sudo。请注意,5参数上没有“-”。正数不需要一个,负数只需要一个,而不是两个。

sudo renice -n 5 2339

如何在linux上使用nice和renice设置进程优先级

我们得到确认,雷尼斯已经改变了尼斯的价值。它向我们展示了旧价值和新价值。

内核通常在处理优先级、分配CPU时间和系统资源方面做得很好。但是如果你有一个很长的,CPU密集型的任务要运行,你不在乎它什么时候结束,如果你为这个任务设置一个更高的nice值,它会让你的计算机运行得更平稳一些。那对每个人都好。

  • 发表于 2021-07-15 02:19
  • 阅读 ( 111 )
  • 分类:互联网

你可能感兴趣的文章

如何控制linux启动服务和守护进程

...许多应用程序,您甚至可能不知道这些应用程序。下面是如何控制它们。 ...

  • 发布于 2021-03-15 11:22
  • 阅读 ( 220 )

如何在linux上杀死僵尸进程

...定分配给该进程的CPU处理时间的频率和持续时间。进程的优先级、指向调度队列的指针和其他调度参数必须记录在PCB中。 内存管理信息:有关此进程正在使用的内存的详细信息,例如进程内存的起始地址和结束地址,以及指向...

  • 发布于 2021-04-01 07:47
  • 阅读 ( 241 )

如何在启动时用systemd运行linux程序

...建集成服务的过程,甚至与杂志进行对话。 本教程演示如何设置启动系统时启动的系统服务。要在登录时启动图形程序,请改用桌面的启动管理器。 启动时运行程序 有时,您在计算机上安装的软件会将自己连接到Linux启动过...

  • 发布于 2021-04-01 17:43
  • 阅读 ( 288 )

如何在linux上的bash中设置环境变量

Linux上有多种类型的环境变量。了解如何查看它们,为本地和远程登录创建它们,并使它们在重新启动后仍然有效。 环境变量的工作原理 启动终端窗口及其内部的shell时,会引用一组变量,以确保shell配置正确。这些变量还确...

  • 发布于 2021-04-02 06:44
  • 阅读 ( 226 )

如何从linux终端检查内存使用情况

...如下: PID:进程ID。 USER:进程所有者的名称。 PR:进程优先级。 倪:这个过程很有价值。 VIRT:进程使用的虚拟内存。 RES:进程使用的驻留内存。 SHR:进程使用的共享内存。 S:进程的状态。(请参阅下面此字段可以获取的值列...

  • 发布于 2021-04-02 13:03
  • 阅读 ( 214 )

如何在linux上使用suid、sgid和sticky位

...权限的人才能访问存储的密码,那么那些没有该权限的人如何更改他们的密码? 提升你的地位 通常,Linux命令和程序运行时与启动程序的人具有相同的权限集。当root运行passwd命令以更改密码时,它将以root的权限运行。这意味着...

  • 发布于 2021-04-02 14:48
  • 阅读 ( 181 )

如何使用journalctl读取linux系统日志

...很少所有字段都出现在消息中。 一个值得讨论的领域是优先级领域。在本例中,它的值为6。该值表示消息的重要性: 0:紧急。系统无法使用。 1:警惕。已标记应立即纠正的状况。 2:关键。这包括主应用程序中的崩溃、核心转...

  • 发布于 2021-04-02 17:06
  • 阅读 ( 183 )

linux上的交换是什么?(以及如何更改)

...中,我们看到: /**交换为100时,匿名和文件具有相同的优先级。*此扫描优先级基本上与IO开销相反。*/anon\u prio=swappeiss;file\u prio=200-anon\u prio; 那很有趣。两个不同的值来自交换。anon\u prio和file\u prio变量保存这些值。一个增加...

  • 发布于 2021-04-02 20:43
  • 阅读 ( 185 )

如何在linux上运行和控制后台进程

... STAT列中的值后面可以跟有以下附加指标之一: <:高优先级任务(对其他进程不好)。 N:低优先级(对其他进程很好)。 L:进程将页锁定到内存中(通常由实时进程使用)。 学生:一个课长。会话负责人是启动了流程组...

  • 发布于 2021-04-03 03:30
  • 阅读 ( 232 )

37个重要的linux命令

...的列包括: PID:进程ID USER:进程所有者的名称 PR:进程优先级 倪:这个过程很有价值 VIRT:进程使用的虚拟内存 RES:进程使用的驻留内存 SHR:进程使用的共享内存 S:进程的状态。请参阅下面此字段可以接受的值的列表 %CPU:自...

  • 发布于 2021-04-03 15:04
  • 阅读 ( 190 )
jlwpnkkrxj169
jlwpnkkrxj169

0 篇文章

相关推荐