Linux之进程管理(2)相关命令之四

Linux之进程管理(2)相关命令之四

设置或调整进程优先级命令: nice  rnice

nice 命令

nice - run a program with modified scheduling priority

运行一个程序时修改调度其进程优先级

格式及用法:

nice  [options]  [command [args]]

-n  # :#表示要设置此程序nice值,-20到19,值越下,优先级越高

注:-20到19的每个nice值分别对应(Centos5中为100-139,CentOS6中为0-39)40个优先级值,而优先级值越高,nice值越小,对应的进程就越优先运行,且占用更多的CPU运行资源空间。当然,还有实时优先级,也就是当优先级相同时,还会通过实时优先级来比较,实时优先级值为99-0,其中值越大,对应的优先级越高。

案例:

#在pts/0终端中打开一个nice值为20的vim进程

[[email protected] ~]# nice -n 20 vim file.txt

#切换到pts/1终端上去查看其nice值

[[email protected] ~]# ps axo pid,comm,ni | grep ‘\<vim‘
 46853 vim              19

解析:这里为什么会显示19,因为nice值规定最小为-20,最大为19,所有设置nice高于最大值或者低于最小值,系统都会认为其为默认最大值或最小值。

#打开两个后台vim进程,nice值都为-10

[[email protected] ~]# nice -n -10 vim file1 &
[1] 46941

#打开第二个的时候,第一个进程被停止

[[email protected] ~]# nice -n -10 vim file2 &
[2] 46942
 
[1]+  Stopped                 nice -n -10 vim file1

#此时查看jobs作业队列中信息

[[email protected] ~]# jobs
[1]-  Stopped                 nice -n -10 vim file1
[2]+  Stopped                 nice -n -10 vim file2

解析:+表示占用队列中。说明,此时vim在同一终端优先存储2号作业在内存的数据划分。

#查看其优先级和nice值

#两值的prioity值和nice值都一样

[[email protected] ~]# ps -C vim -o pid,comm,ni,pri
   PID COMMAND          NI PRI
 46941 vim             -10  29
 46942 vim             -10  29

注意:这里的prioity值并不是上面说的nice值对应的40种优先级

rnice 命令

用法选项:

rnice  -n  prioity  PID        #表示对应PID进程的原prioity值+指定的prioity值=新的nice值

rnice  prioity PID             #表示对应PID进程的指定的prioity值-原prioity值=新的nice值

注:无论那种方式,普通用户自能调高自己进程的 nice值。

案例:

#重新设置第二个vim,及PID为46906的进程的nice

[[email protected] ~]# renice -n 20 `pgrep -f ‘^vim[[:space:]].*2‘`
46942 (process ID) old priority -10, new priority 19

解析:这里显示了一段信息,说新的nice值为19,为此进程原来的priority值(29)加上设置的nice值,及29+(-10)=19。

#再次查看两个vim进程的优先级及nice值

[[email protected] ~]# ps -C vim -o pid,cmd,comm,ni,pri
   PID CMD                      COMMAND     NI  PRI
 46941 vim file1                   vim           -10  29
 46942 vim file2                   vim           19   0

解析:因为vim file2进程的nice值为19,nice值越大,优先级值越小。

测试普通用户只能调大自己进程的nice值

#切换到普通用户

[[email protected] ~]# su - hadoop
Last login: Wed Sep  7 21:47:06 EDT 2016 on pts/2

#开启nice值为10的vim进程

[[email protected] ~]$ nice -n 10 vim file1 &
[1] 47037

#查在后台作业存在刚才的进程

[ha[email protected] ~]$ jobs
[1]+  Stopped                 nice -n 10 vim file1

#查看vim进程nice值及优先级值

[[email protected] ~]$ ps axo pid,comm,ni,pri,rtprio | grep vim
 47037 vim              10   9      -

#调整nice值为当前优先级+(-9),及9-9=0

[[email protected] ~]$ renice -n -9 47037
renice: failed to set priority for 47037 (process ID): Permission denied

解析:进程原来nice值为10,如果设置为0就相当于提供了优先级,而作为普通用户,是无法与其他用户的进程抢占优先级的。

#那么不能调低,把自己nice值直接设置为29-10=19,提高nice值

[[email protected] ~]$ renice 29 47037
47037 (process ID) old priority 10, new priority 19

解析:nice值为友好值,及只能牺牲自己进程的优先级来为其它用户的进程提供更多的CPU资源空间。

时间: 2024-08-05 11:12:37

Linux之进程管理(2)相关命令之四的相关文章

Linux之进程管理(2)相关命令之三

Linux之进程管理(2)相关命令之三 (IPC)进程间通信及信号控制命令 kill  killall   kill 命令 kill - terminate a process,Inter Process Communication 进程通信工具,默认为发送终止信号 选项及用法: kill  -l  #显示所有信号CODE及名称 kill  [-SIGNAL]  pid...#指定发送信号给对应pid的进程,不指定信号代码默认为15信号 常见的信号:(注:可以使用man 7 signal打开帮助

Linux之进程管理(2)相关命令之一

Linux之进程管理(2)相关命令之一 procps工具命令对进程管理的使用:   ps   pgrep  pidof  pkill  pstree ps  命令 ps  (Process State)  :report a snapshot of the current processes. 查看当前进程的快照信息表 此命令支持3种风格: 1.SysV风格:选项前必须加-符号,如ps  -ef 2.BSD风格:选项前可以不加-符号,如ps  aux 3.GUN风格:之前两个-符号,类似长选项,

Linux之进程管理(2)相关命令之二

Linux之进程管理(2)相关命令之二 进程监控工具命令使用:uptime  top  vmstat  pmap  dstat uptime  命令 uptime - Tell how long the system has been running. 显示当前已经运行的时长及cpu核心处理状态 说明:显示系统当前时间,系统运行时长,以及当前上线人数,系统平均负载(一般按1.5.10分钟的平均负载,一般不会超过1). 选项及用法: uptime  [option] -p, --pretty  :

Linux进程管理及相关命令

一些概念 终端 也叫终端设备,早期因为计算机比较昂贵,所以一个主机会有多个终端,这些终端本身不具备计算能力,仅仅承担信息的输入与输出工作,运算和处理均由主机来完成. 现在个人计算机也可以运行终端仿真程序来模拟一个终端来工作. 随着计算机的发展,移动终端也有了广泛应用,不仅有可以进行输入输出的工作,也可以进行一定的运算,实现部分系统的功能. 进程的权限 参看Linux下进程权限分析 一般进程有3个uid,分别为ruid(真实用户ID),euid(有效用户ID),suid(保存用户ID) setui

Linux基础--进程管理相关命令介绍(2)

本文主要介绍了Linux中进程管理的相关命令,涉及到的主要命令有top,vmstat等. (1)top ①功能:用来查看CPU,内存以及进程的状态. ②用例: ③相关注释: load average表示负载,三个数值分别表示第1分钟,第5分钟,第10分钟 Cpu中us表示用户空间程序占用百分比,sy表示内核模式占用百分比,ni表示调整NICE值所占用的    CPU百分比,id表示CPU的空闲比例,wa表示等待磁盘IO完成所占用的时间比例,hi表示硬件中断占     据的百分比,si表示软中断所

Linux基础--进程管理相关命令介绍(1)

本文主要介绍了Linux中进程管理的相关命令,涉及到的主要命令有pstree,ps. (1)pstree ①功能:用来查看进程树 ②用例: (2)ps ①功能:用来显示系统当前进程状态的命令 ②用例: ③相关用法: ps a:显示所有跟终端相关的进程 ps x:显示所有跟终端无关的进程 相关注释: STAT各代码含义: S:可中断的睡眠态 D:不可中断的睡眠态 R:运行或可运行 T:停止 Z:僵死 s:session leader l:多线程进程 +:前台进程 N:低优先级进程 <:高优先级进程

Linux进程及作业管理相关命令

作为初学者,Linux永远是那么神秘,高大上的内容我也不会,所以在这里只能整理一下与管理相关的命令了,如果有不对的或不准确的地方,请指正. 可参考:Linux内核--进程管理与调度http://www.linuxidc.com/Linux/2014-08/105366.htm pstree:显示进程状态树 作用:列出当前的进程,以及它们的树状结构 用法:pstree [选项] -a: 显示执行程序的命令与完整参数 ps:查看系统中进程的状态 在/proc/目录中包含了进程和内核模拟生成的伪文件,

linux下查找进程及终止进程操作的相关命令

使用linux操作系统,难免遇到一些软件"卡壳"的问题,这时就需要使用linux下强大的kill命令来结束相关进程.这在linux系统下是极其容易的事情,你只需要kill xxx即可,这里xxx代表与此软件运行相关的进程PID号.首先,我们需要使用linux下另外一个命令ps查找与进程相关的PID号:ps aux | grep program_filter_word1)ps a 显示现行终端机下的所有程序,包括其他用户的程序.2)ps -A 显示所有程序.3)ps c 列出程序时,显示

linux系统-进程管理-基本概念和命令

linux系统-进程管理-基本概念和命令 一 基本概念 1 进程:是程序的执行过程,是动态的,有生命周期,动态产生和消亡,程序和进程不是一一对应的 2 父进程和子进程: 子进程是有一个进程产生的进程,产生这个进程的进程成为该进程的父进程 父进程是由linux系统中调用fork产生,fork复制的内容包括父进程的数据和堆栈段以及父进程的堆栈环境 3 父进程与子进程的关系 父进程终止子进程自然终止,如不终止,则为孤儿进程,父进程自动指向init进程 子进程终止父进程没有终止,这父进程成为僵死进程 4