Linux shell编程学习笔记65: nice命令 显示和调整进程优先级

0 前言

我们前面学习了Linux命令ps和top,命令的返回信息中包括优先序(NI,nice) ,我们可以使用nice命令来设置进程优先级。

1 nice命令 的功能、格式和选项说明

1.1 nice命令 的功能

nice命令的功能是用于调整进程的优先级,帮助系统资源的合理分配。

Linux系统后台运行着不少进程,其中有一些进程,例如定期数据备份、自动清理垃圾等等工作,我们都可以通过nice命令调低其执行优先级,从而把硬件等资源留给重要的工作。

优先级范围为-20~19,数字越小,优先级越高,默认为10。

我们可以使用命令nice --help 来查看帮助信息。 

[prupleEndurer @ bash ~ ] nice --help
Usage: nice [OPTION] [COMMAND [ARG]...]
Run COMMAND with an adjusted niceness, which affects process scheduling.
With no COMMAND, print the current niceness.  Niceness values range from
-20 (most favorable to the process) to 19 (least favorable to the process).Mandatory arguments to long options are mandatory for short options too.-n, --adjustment=N   add integer N to the niceness (default 10)--help     display this help and exit--version  output version information and exitNOTE: your shell may have its own version of nice, which usually supersedes
the version described here.  Please refer to your shell's documentation
for details about the options it supports.GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
Report nice translation bugs to <http://translationproject.org/team/>
For complete documentation, run: info coreutils 'nice invocation'
[prupleEndurer @ bash ~ ] 

1.2 nice命令 的格式

nice [选项] [命令 [参数]...]

1.3 nice命令 的选项说明

选项说明
 -g PGID
 

匹配进程组ID

有些nice版本不支持本选项

-n N

--adjustment=N

将优先级调整为N,-20≤ N ≤19,默认为10
-p PID

匹配进程ID(PID)

有些nice版本不支持本选项

-u UID

匹配用户ID(UID)

有些nice版本不支持本选项

--help显示此帮助并退出
--version输出版本信息并退出

 2 nice 命令实例 

2.1 nice:显示nice命令执行历史

[prupleEndurer @ bash ~ ] nice
0
[prupleEndurer @ bash ~ ] nice top &
[1] 210
[prupleEndurer @ bash ~ ] nice
0[1]+  Stopped                 nice top
[prupleEndurer @ bash ~ ] ps -l
F S   UID     PID    PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
4 S  1000     118       0  0  80   0 - 10039 -      pts/3    00:00:00 zsh
4 S  1000     195     118  0  80   0 -  3781 -      pts/3    00:00:00 bash
4 T  1000     210     195  0  90  10 - 14239 -      pts/3    00:00:00 top
0 R  1000     212     195  0  80   0 - 13232 -      pts/3    00:00:00 ps
[prupleEndurer @ bash ~ ] nice
0
[prupleEndurer @ bash ~ ] 

我们第一次执行命令nice,返回信息为0

接着我们执行命令 nice top &,以后台方式、优先级默认为10运行top,返回信息中的210是top命令对应的进程ID(PID)

第二次执行命令nice,返回信息比第一次执行时多了一行内容:

[1]+  Stopped                 nice top

也就是刚才运行的命令。

接下来我们执行命令 ps -l,从命令返回信息中可以看到top命令对应的进程ID(PID)210的NI值为默认值10。

2.2 nice -n 命令:以指定优先级执行命令

[prupleEndurer @ bash ~ ] nice -n 5 topTasks:  13 total,   1 running,  10 sleeping,   2 stopped,   0 zombie
%Cpu(s):  0.3 us,  0.3 sy,  0.0 ni, 99.2 id,  0.0 wa,  0.2 hi,  0.0 si,  0.0 st
KiB Mem :  3855940 total,  2005076 free,   275256 used,  1575608 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  3332552 avail Mem PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                        1 csdn      20   0   40356   5152   3780 S   0.0  0.1   0:00.23 zsh                                                                                            47 csdn      20   0   40156   5104   3844 S   0.0  0.1   0:00.04 zsh                                                                                            73 csdn      20   0   40156   4924   3684 S   0.0  0.1   0:00.04 zsh                                                                                            102 csdn      20   0   15124   3540   3124 S   0.0  0.1   0:00.00 bash                                                                                           116 csdn      30  10   56956   3912   3508 T   0.0  0.1   0:00.00 top                                                                                            118 csdn      20   0   40156   5044   3780 S   0.0  0.1   0:00.04 zsh                                                                                            147 csdn      20   0   40156   4956   3716 S   0.0  0.1   0:00.04 zsh                                                                                            195 csdn      20   0   15124   3464   3048 S   0.0  0.1   0:00.00 bash                                                                                           210 csdn      30  10   56956   3960   3556 T   0.0  0.1   0:00.00 top                                                                                            214 csdn      20   0   40156   4960   3716 S   0.0  0.1   0:00.04 zsh                                                                                            239 csdn      20   0   40156   5044   3780 S   0.0  0.1   0:00.05 zsh                                                                                            293 csdn      20   0   15124   3484   3132 S   0.0  0.1   0:00.00 bash                                                                                           306 csdn      25   5   59472   4384   3840 R   0.0  0.1   0:00.00 top                            

 

我们先执行命令nice -n 5 top,以优先级5来执行top命令

然后我们在top命令显示的信息中,可以看到top命令对应的进程的NI为5

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/873944.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AP ERP与汉得SRM系统集成案例(制药行业)

一、项目环境 江西某医药集团公司&#xff0c;是一家以医药产业为主营、资本经营为平台的大型民营企业集团。公司成立迄今&#xff0c;企业经营一直呈现稳健、快速发展的态势&#xff0c; 2008 年排名中国医药百强企业前 20 强&#xff0c;2009年集团总销售额约38亿元人民币…

原码、补码、反码、移码是什么?

计算机很多术语翻译成中文之后&#xff0c;不知道是译者出于什么目的&#xff0c;往往将其翻译成一个很难懂的名词。 奇怪的数学定义 下面是关于原码的“吐槽”&#xff0c;可以当作扩展。你可以不看&#xff0c;直接去下一章&#xff0c;没有任何影响。 原码的吐槽放在前面是…

配置单区域OSPF

目录 引言 一、搭建基础网络 1.1 配置网络拓扑图如下 1.2 IP地址表 二、测试每个网段都能单独连通 2.1 PC0 ping通Router1所有接口 2.2 PC1 ping通Router1所有接口 2.3 PC2 ping通Router2所有接口 2.4 PC3 ping通Router2所有接口 2.5 PC4 ping通Router3所有接口 2.…

Git仓库拆分和Merge

1. 问题背景 我们原先有一个项目叫open-api&#xff0c;后来想要做租户独立发展&#xff0c;每个租户独立成一个项目&#xff0c;比如租户akc独立部署一个akc-open-api&#xff0c;租户yhd独立部署一个yhd-open-api&#xff0c;其中大部分代码是相同的&#xff0c;少量租户定制…

2024牛客暑期多校训练营1——A,B

题解&#xff1a; 更新&#xff1a; k1的时候要乘n 代码&#xff1a; #include<bits/stdc.h> #define int long long using namespace std; const int N5e35; typedef long long ll; typedef pair<int,int> PII; int T; int n,m,mod; int fac[N][N]; int dp[N][…

设计模式使用场景实现示例及优缺点(结构型模式——外观模式)

在一个繁忙而复杂的城市中&#xff0c;有一座名为“技术森林”的巨大图书馆。这座图书馆里藏着各种各样的知识宝典&#xff0c;从古老的卷轴到现的电子书籍&#xff0c;无所不包。但是&#xff0c;图书馆之所以得名“技术森林”&#xff0c;是因为它的结构异常复杂&#xff0c;…

服务器注意事项

1. 远程服务器不允许关机&#xff0c;只能重启&#xff1b; 2. 重启服务器应关闭服务&#xff1b; 3. 不要在服务器访问高峰运行高负载命令&#xff1b; 4. 远程配置防火墙是不要把自己踢出服务器&#xff1b; 5. 制定合理的密码规范并定期更新&#xff1b; 6. 合理分配权…

笔记:Few-Shot Learning小样本分类问题 + 孪生网络 + 预训练与微调

内容摘自王老师的B站视频&#xff0c;大家还是尽量去看视频&#xff0c;老师讲的特别好&#xff0c;不到一小时的时间就缕清了小样本学习的基础知识点~Few-Shot Learning (1/3): 基本概念_哔哩哔哩_bilibili Few-Shot Learning&#xff08;小样本分类&#xff09; 假设现在每类…

【Linux】基础I/O——动静态库的制作

我想把我写的头文件和源文件给别人用 1.把源代码直接给他2.把我们的源代码想办法打包为库 1.制作静态库 1.1.制作静态库的过程 我们先看看怎么制作静态库的&#xff01; makefile 所谓制作静态库 需要将所有的.c源文件都编译为(.o)目标文件。使用ar指令将所有目标文件打包…

【前端】JavaScript入门及实战41-45

文章目录 41 嵌套的for循环42 for循环嵌套练习(1)43 for循环嵌套练习(2)44 break和continue45 质数练习补充 41 嵌套的for循环 <!DOCTYPE html> <html> <head> <title></title> <meta charset "utf-8"> <script type"…

谷粒商城实战笔记-38-前端基础-Vue-指令-单向绑定双向绑定

文章目录 一&#xff0c;插值表达式注意事项1&#xff1a;不适合复杂的逻辑处理注意事项2&#xff1a;插值表达式支持文本拼接注意事项3&#xff1a;插值表达式只能在标签体中 二&#xff0c;v-html和v-textv-textv-html区别总结&#xff1a;最佳实践 三&#xff0c;v-model复选…

WordPress杂技

WordPress杂技 WordPress页面构建器: Avada、Elementor、astra、 Elementor作为一款强大的页面构建工具。 Avada&#xff1a;是一款非常受欢迎的WordPress主题&#xff0c;它的设计理念是简洁、现代、响应式&#xff0c;Avada拥有丰富的模板和布局&#xff0c;可以轻松创建出…

多线程顺序执行

前言 现在面试中&#xff0c;不光会问力扣之类的算法&#xff0c;手撕多线程问题也被提上了日程。多线程之间的顺序执行是一个高频的面试手撕题&#xff0c;而且在实际应用中也会有用武之地。因此在这里&#xff0c;我们考虑使用不同的方式来实现多线程的顺序执行。在本文中&a…

Jackson 库简介--以及数据脱敏

Jackson 是一个流行的 Java JSON 处理库&#xff0c;它提供了将 Java 对象与 JSON 数据相互转换的功能。Jackson 的主要功能包括&#xff1a; 序列化&#xff1a;将 Java 对象转换为 JSON 字符串。反序列化&#xff1a;将 JSON 字符串转换为 Java 对象。 Jackson 提供了以下几…

C2W2.Assignment.Parts-of-Speech Tagging (POS).Part2

理论课&#xff1a;C2W2.Part-of-Speech (POS) Tagging and Hidden Markov Models 文章目录 2 Hidden Markov Models2.1 Generating MatricesCreating the A transition probabilities matrixExercise 03Create the B emission probabilities matrixExercise 04 理论课&#x…

FastAPI 学习之路(五十六)将token缓存到redis

在之前的文章中&#xff0c;FastAPI 学习之路&#xff08;二十九&#xff09;使用&#xff08;哈希&#xff09;密码和 JWT Bearer 令牌的 OAuth2&#xff0c;FastAPI 学习之路&#xff08;二十八&#xff09;使用密码和 Bearer 的简单 OAuth2&#xff0c;FastAPI 学习之路&…

Kubernetes 之 Ingress

Kubernetes 之 Ingress 定义 Ingress 可以把外部需要进入到集群内部的请求转发到集群中的一些服务上&#xff0c;从而实现把服务映射到集群外部的需要。Ingress 能把集群内 Service 配置成外网能够访问的 URL&#xff0c;流量负载均衡&#xff0c;提供基于域名访问的虚拟主机…

RabbitMQ 和 RocketMQ 的区别

RabbitMQ 和 RocketMQ 都是流行的开源消息中间件&#xff0c;它们用于在分布式系统中异步传输消息。尽管它们都实现了核心的消息队列功能&#xff0c;但它们在设计、性能、特性和使用场景上有一些关键的区别&#xff1a; 基础架构: RabbitMQ: 基于AMQP&#xff08;高级消息队列…

阵列信号处理学习笔记(二)--空域滤波基本原理

阵列信号 阵列信号处理学习笔记&#xff08;一&#xff09;–阵列信号处理定义 阵列信号处理学习笔记&#xff08;二&#xff09;–空域滤波基本原理 文章目录 阵列信号前言一、阵列信号模型1.1 信号的基本模型1.2 阵列的几何构型1.3 均匀直线阵的阵列信号基本模型 总结 前言…

HOW - React 处理不紧急的更新和渲染

目录 useDeferredValueuseTransitionuseIdleCallback 在 React 中&#xff0c;有一些钩子函数可以帮助你处理不紧急的更新或渲染&#xff0c;从而优化性能和用户体验。 以下是一些常用的相关钩子及其应用场景&#xff1a; useDeferredValue 用途&#xff1a;用于处理高优先级…