DAY21-进程管理

今日内容

如何管理进程kill、killall、pkill?

  • kill PID 正常停止一个程序
  • kill -1 PID 平滑重载配置文件
  • kill -9 PID 强制杀死进程 (对于mysql这类有状态的慎用)
  • pkill Name 批量干掉程序
  • killall Name 批量干掉程序

后台进程该如何管理jobs bg fg screen?

  • screen -S Name
  • Ctrl+ad 关闭会话
  • screen -list ---> screen -r Name| pid

进程优先级是什么?nice、renice? 服务器假死?(使用nice解决)

  • 优先级指的是优先享受资源,比如排队买票时,军人优先、老人优先。
  • nice值越高:表示优先级越低,例如+19该进程容易将CPU 使用量让给其他进程。
  • nice 值越低: 表示优先级越高,例如-20,该进程更倾向于优先使用CPU。

1)使用top可以查看nice优先级。

1.  #NI: 实际nice级别,默认是0。 PR: 显示nice值,-20映射到0,+19映射到39
PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
1083 root      20   0  298628   2808   1544 S  0.3  0.1   2:49.28 vmtoolsd
5    root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kworker/0:+

2.使用ps查看进程优先级
[root@m01 ~]# ps axo command,nice |grep sshd|grep -v grep
/usr/sbin/sshd -D             0
sshd: root@pts/2              0

2)nice指定程序的优先级。语法格式 nice -n 优先级数字 进程名称

1.开启vim并且指定程序优先级为-5
[root@m01 ~]# nice -n -5 vim &
[1] 98417

2.查看该进程的优先级情况
[root@m01 ~]# ps axo pid,command,nice |grep 98417
 98417 vim                         -5

3) renice命令修改一个正在运行的进程优先级。语法格式 renice -n 优先级数字 进程pid

1.查看sshd进程当前的优先级状态
[root@m01 ~]# ps axo pid,command,nice |grep 折叠shd
 70840 sshd: root@pts/2              0
 98002 /usr/sbin/sshd -D             0
 
2.调整sshd主进程的优先级
[root@m01 ~]# renice -n -20 98002
98002 (process ID) old priority 0, new priority -20

3.调整之后记得退出终端
[root@m01 ~]# ps axo pid,command,nice |grep 折叠shd
 70840 sshd: root@pts/2              0
 98002 /usr/sbin/sshd -D           -20
[root@m01 ~]# exit

4.当再次登陆sshd服务,会由主进程fork子进程(那么子进程会继承主进程的优先级)
[root@m01 ~]# ps axo pid,command,nice |grep 折叠shd
 98002 /usr/sbin/sshd -D           -20
 98122 sshd: root@pts/0            -20
  • 例:NI =0 PR=20
    NI =-20 PR=0
    NI = 10 PR=30
    NI = 19 PR =39
    https://www.9wy.net/?p=548 centos6永久调整 | centos7 永久调整自行解决

平均负载?
划重点,因此你可以简单理解为,平均负载其实就是单位时间内的活跃进程数。(处于运行+处于等待运行+不可中断的进程)

  • 平均负载和cpu使用率有什么直接的关系?
    • 平均负载是指单位时间内,处于可运行状态和不可中断状态的进程数。所以,它不仅包括了正在使用 CPU 的进程,还包括等待 CPU 和等待 I/O 的进程。
    • 而 CPU 使用率,是单位时间内 CPU 繁忙情况的统计,跟平均负载并不一定完全对应。比如:CPU 密集型进程,使用大量 CPU 会导致平均负载升高,此时这两者是一致的;I/O 密集型进程,等待 I/O 也会导致平均负载升高,但 CPU 使用率不一定很高;大量等待 CPU 的进程调度也会导致平均负载升高,此时的 CPU 使用率也会比较高。
  • 如何查看平均负载?
    1.三个数值都需要关注 综合评估
    2.考虑是cpu使用率高,还是cpu的IO等待过多造成过高
    大量使用cpu进程造成过高

stress命令可进行压力测试
https://www.xuliangwei.com/bgx/1439.html亮哥博客

你可能感兴趣的:(DAY21-进程管理)