天津网站建设icp备,肇庆市有限公司网站建设,网站建设教程参加苏州久远网络,网站策划与建设在本文中#xff0c;我们将简要介绍内核调度程序 (也称为进程调度程序 )和进程优先级 #xff0c;这些主题超出了本指南的范围。 然后#xff0c;我们将深入了解一些Linux进程管理 #xff1a;了解如何运行具有修改优先级的程序或命令#xff0c;还可以更改运行Linux进程的… 在本文中我们将简要介绍内核调度程序 (也称为进程调度程序 )和进程优先级 这些主题超出了本指南的范围。 然后我们将深入了解一些Linux进程管理 了解如何运行具有修改优先级的程序或命令还可以更改运行Linux进程的优先级。 了解Linux内核计划程序 内核调度程序是内核的一个单位它决定了在所有可运行的进程中执行下一个最合适的进程; 它在系统上的可运行进程之间分配处理器时间。 可运行的进程是等待CPU时间的进程它已经可以执行了。 调度程序在Linux中构建了多任务的核心使用基于优先级的调度算法在系统中的可运行进程之间进行选择。 它基于最值得的以及CPU时间的需要对进程进行排序。 了解流程优先级和良好价值 内核存储有关进程的大量信息包括进程优先级这仅仅是附加到进程的调度优先级。 具有较高优先级的进程将在具有较低优先级的进程之前执行而具有相同优先级的进程重复排列在下一个之后。 在Linux中实现了140个优先级和两个不同的优先级范围。 第一个是很好的价值( 优点 )范围从-20 (最高优先级值)到19 (最低优先级值)默认值为0 这是我们将在本指南中发现的。 另一个是实时优先级默认范围为1到99 则100到139用于用户空间。 Linux的一个重要特征是基于动态优先级的调度这样可以根据您的需要更改(增加或减少)进程的良好价值稍后将会介绍。 如何检查Linux进程的良好价值 要看到进程的漂亮值我们可以使用诸如ps top或htop这些实用程序。 使用用户定义格式的ps命令查看进程的nice值(这里NI列显示进程的准确性)。$ ps -eo pid,ppid,ni,comm 查看Linux处理好的值 或者您可以使用top或htop实用程序来查看Linux进程如图所示。$ top $ htop 使用Top命令检查Linux进程的尼斯值 使用Htop命令检查Linux进程的尼斯值 PR或PRI与NI之间的差异 从上面的顶部和htop输出你会注意到有一个PR和PRI的列显示一个进程的优先级。 因此这意味着NI - 是一个很好的价值它是一个用户空间概念而 PR或PRI - 是进程的实际优先级如Linux内核所示。 如何计算PR或PRI值Total number of priorities 140 Real time priority range(PR or PRI): 0 to 99 User space priority range: 100 to 139 尼斯值范围(NI)-20到19PR 20 NI PR 20 (-20 to 19) PR 20 -20 to 20 19 PR 0 to 39 which is same as 100 to 139. 但是如果看到一个rt而不是一个数字如下面的屏幕截图所示它基本上意味着该进程正在实时调度优先级下运行。 Linux rt进程 如何在Linux中运行具有给定尼斯值的命令 在这里我们将介绍如何优先处理程序或命令的CPU使用情况。 如果您有一个非常CPU密集的程序或任务但您也明白完成可能需要很长时间您可以使用nice命令将其设置为高或优先级。 语法如下$ nice -n niceness-value [command args] OR $ nice -niceness-value [command args] #it’s confusing for negative values OR $ nice --adjustmentniceness-value [command args] 重要如果没有提供值则默认情况下nice设置为10。 没有nice的命令或程序默认为零的优先级。 只有root可以运行具有增加或高优先级的命令或程序。 普通用户只能运行低优先级的命令或程序。 例如您可以使用默认优先级启动一个或多个命令而不必使用以下nice命令来使用特定的优先级。$ sudo nice -n 5 tar -czf backup.tar.gz ./Documents/* OR $ sudo nice --adjustment5 tar -czf backup.tar.gz ./Documents/* 您还可以使用第三种方法这是有点混乱特别是对负面的好感值。$ sudo nice -5 tar -czf backup.tar.gz ./Documents/* 更改Linux中进程的计划优先级 如前所述Linux允许基于动态优先级的调度。 因此如果程序已经运行可以使用以下形式的renice命令来更改其优先级$ renice -n -12 -p 1055 $ renice -n -2 -u apache 更改流程优先级 从下面的示例顶部输出中使用PID 1055的teamspe 的优点现在为-12 对于用户apache拥有的所有进程为-2 。 仍然使用这个输出你可以看到公式PR 20 NI PR for ts3server 20 -12 8 PR for apache processes 20 -2 18 观看过程好的价值观 使用renice命令对用户进程进行的任何更改都可以使用直到下次重新启动。 要设置永久默认值请阅读下一节。 如何设置特定用户进程的默认值 您可以在/etc/security/limits.conf文件中设置特定用户或组的默认nice值。 它的主要功能是定义通过PAM登录的用户的资源限制。 用于定义用户限制的语法如下(并且文件中解释了各种列的可能值)# 现在使用下面的语法其中硬 - 意味着强制执行硬链接和软手段 - 执行软限制。 priority 或者在/etc/security/limits.d/下创建一个文件该文件覆盖上述主文件中的设置这些文件按字母顺序读取。 首先为用户howtoing创建文件/etc/security/limits.d/howtoing-priority.conf # vi /etc/security/limits.d/howtoing-priority.conf 然后在其中添加此配置howtoing hard priority 10 保存并关闭文件。 从现在开始 howtoing拥有的任何流程将有一个很好的价值10和PR 30 。 有关更多信息请阅读nice和renice的手册页$ man nice $ man renice 您可能还想阅读有关Linux进程管理的以下文章。 在本文中我们简要介绍了内核调度程序进程优先级了解如何运行具有修改优先级的程序或命令并更改了活动Linux进程的优先级。 您可以通过以下反馈表单分享有关此主题的任何想法。