前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux系统之nice命令的基本使用

Linux系统之nice命令的基本使用

原创
作者头像
江湖有缘
发布2024-07-19 23:26:41
740
发布2024-07-19 23:26:41
举报
文章被收录于专栏:Linux成长之路

一、nice命令介绍

1.1 nice命令简介

nice命令在Linux系统中是一个用于调整进程优先级的工具。通过nice值,用户可以控制程序运行时占用CPU资源的相对比例,从而实现对系统资源分配的微调。高的nice值表示更低的优先级,意味着程序会更少地占用CPU时间,给其他程序更多机会;反之,低的nice值表示更高的优先级。默认情况下,大部分程序以0的nice值运行。

1.2 进程优先级介绍

调度优先级决定对CPU的访问,进程的nice值影响优先级。nice值为-20到19 ,缺省为0,低nice值意味着高CPU优先级。

二、nice命令基本语法

2.1 nice命令的help帮助信息

查看 nice命令的help帮助信息

代码语言:bash
复制
[root@jeven ~]# 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 exit

NOTE: 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/>
For complete documentation, run: info coreutils 'nice invocation'
代码语言:bash
复制
nice [-n adjust] command
  • -n adjust:可选参数,指定进程的nice值。adjust值范围通常是-20到19,-20(对进程最有利)到19(对进程最不利)。如果不指定,默认调整值为10。
  • command:需要以指定nice值运行的命令或程序。

2.2 nice命令选项解释

nice命令用途:调整进程的优先级,从而影响其调度。如果不指定命令,则打印当前的优先级。优先级值范围从-20(对进程最有利)到19(对进程最不利)。

命令格式:nice [选项] [命令 [参数]...]

选项说明:

选项

作用

等效短选项

默认值

-n, --adjustment=N

将整数N添加到优先级(默认为10)

-n

10

--help

显示帮助信息并退出

--version

输出版本信息并退出

注意:

  • 您的shell可能有自己版本的nice命令,该版本通常会替代这里描述的版本。详情请参阅shell的文档。
  • GNU coreutils在线帮助:http://www.gnu.org/software/coreutils/
  • 完整文档,请运行:info coreutils 'nice invocation'

三、nice命令的基本使用

3.1 查看进程优先级

查看当前进程的优先级

代码语言:bash
复制
[root@jeven ~]# ps -eo pid,comm,nice --sort=-nice |head
   PID COMMAND          NI
    37 khugepaged       19
  8992 alsactl          19
 17633 tracker-extract  19
 17642 tracker-miner-a   -
 17653 tracker-miner-f  19
 17660 tracker-miner-u   -
    36 ksmd              5
  9037 rtkit-daemon      1
     1 systemd           0

3.2 使用nice启动进程

使用nice命令,以优先级6打开file.txt文件。

代码语言:bash
复制
nice -n 6 vim file.txt

另外开启一个终端,查看vim进程的优先级。

代码语言:bash
复制
[root@jeven ~]# ps -eo pid,comm,nice --sort=-nice |grep vim
 21331 vim               6
 16166 vim               0

也可以通过进程的PID来查询

代码语言:bash
复制
[root@jeven ~]# pidof vim
21331 16166
[root@jeven ~]# ps -p 21331 -o pid,ni,cmd
   PID  NI CMD
 21331   6 vim file.txt

3.3 提高优先级

  • 后台运行一个进程
代码语言:bash
复制
ping www.baidu.com > ping_output.txt & 
  • 查看进程优先级
代码语言:bash
复制
 ps -p 22869 -o pid,ni,cmd
  • 调整优先级

要调整一个已在后台运行的进程的优先级(nice值)为10,你可以使用renice命令。首先,确保你已经获取了该进程的PID,正如你示例中提到的PID为22869。接下来,执行以下命令来进行调整。这条命令中,-n 10指定了新的nice值为10,-p 22869指定了要调整优先级的进程PID。执行后,系统会修改该进程的优先级。

代码语言:bash
复制
renice -n 10 -p 22869

四、注意事项

  • 权限限制: 普通用户不能将nice值设置为负数或大幅度提高优先级,这是为了防止非授权用户抢占系统资源。
  • 调度策略: nice仅影响进程的CPU时间分配,并不保证绝对的执行顺序。Linux内核还使用其他调度策略,如实时优先级(通过chrt命令设置),来进一步管理进程的执行顺序。
  • 监控和调整: 使用如top、ps -eo pid,comm,nice,%cpu或htop等工具可以查看和调整正在运行的进程的nice值。
  • 通过合理使用nice命令,系统管理员和高级用户可以更好地控制系统资源的分配,确保关键任务或对响应时间敏感的应用程序能够获得足够的处理能力。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、nice命令介绍
    • 1.1 nice命令简介
      • 1.2 进程优先级介绍
      • 二、nice命令基本语法
        • 2.1 nice命令的help帮助信息
          • 2.2 nice命令选项解释
          • 三、nice命令的基本使用
            • 3.1 查看进程优先级
              • 3.2 使用nice启动进程
                • 3.3 提高优先级
                • 四、注意事项
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档