进程优先级 nice

74 篇文章 4 订阅
36 篇文章 1 订阅

Ubuntu Touch的ssh服务会有卡顿的问题,实际上可以通过nice值调高ssh连接优先级来缓解

进程优先级nice

  • Linux 进程调度及多任务
  • 相对优先级nice
  • 查看进程的nice级别
  • 启动具有不同nice级别的进程
  • 更改现有进程的nice级别
Linux 进程调度及多任务

每个CPU(或CPU核心)在一个时间点上只能处理一个进程,通过时间片技术,Linux实际能够运行的进程(和线程数)可以超
出实际可用的CPU及核心数量。Linux内核 进程调度程序将多个进程在CPU核心上快速切换,从而给用户多个进程在同时运行的印象。

相对优先级 nice

由于不是每个进程都与其他进程同样重要,可告知 进程调度程序为不同的进程使用不同的 调度策略。常规系统上运行的大多
数进程所使用的调度策略为 SCHED_OTHER (也称为SCHED_NORMAL),但还有其它一些调度策略用于不同的目的。

SCHED_OTHER 调度策略运行的进程的相对优先级称为进程的 nice 值,可以有40种不同级别的nice值。

nice 值越高: 表示优先级越低,例如+19,该进程容易将CPU 使用量让给其他进程。

nice 值越低: 表示优先级越高,例如-20,该进程更不倾向于让出CPU。

查看进程的nice级别

1. 使用top查看nice级别
NI: 实际nice级别
PR: 将nice级别显示为映射到更大优先级队列,-20映射到0,+19映射到39

3. 使用ps查看nice级别
[root@tianyun ~]# ps axo pid,command,nice --sort=-nice
[root@tianyun ~]# ps axo pid,command,nice,cls --sort=-nice
TS 表示该进程使用的调度策略为 SCHED_OTHER

启动具有不同nice级别的进程

启动进程时,通常会继承父进程的 nice级别,默认为0。
[root@localhost ~]# nice -n -5 sleep 6000 &
[root@localhost ~]# ps axo command,pid,nice |grep sleep

[root@localhost ~]# nice -n -20 service httpd start
[root@localhost ~]# ps axo pid,command,nice,cls |grep httpd
11116 /usr/sbin/httpd -20 TS
11119 /usr/sbin/httpd -20 TS
11120 /usr/sbin/httpd -20 TS
11121 /usr/sbin/httpd -20 TS
11122 /usr/sbin/httpd -20 TS
11123 /usr/sbin/httpd -20 TS
11124 /usr/sbin/httpd -20 TS
11125 /usr/sbin/httpd -20 TS
11126 /usr/sbin/httpd -20 TS

更改现有进程的nice级别

1. 使用top更改nice级别
r 调整进程的优先级( Nice Level) (-20高) ---0--- (19低)

2. 使用shell更改nice级别
[root@localhost ~]# sleep 7000 &
[3] 10089
[root@locaLhost ~]# renice -20 10089
10089: old priority 0, new priority -20

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值