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亮哥博客

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1>进程运行的状态指标? *P 运行 R+ 运行在前台*T 停止*S 可中断S+ 运行在前台Ss父进程 Ss...
    a幕城阅读 181评论 2 2
  • 1.管理进程的状态 当程序运行为进程后,如果希望进程停止,怎么办呢?那么此时我们可以使用Linux的kill命令对...
    康酱呦阅读 301评论 0 0
  • 今日内容 1. 什么是进程 将运行起来的程序就叫做进程 当程序运行为进程后,系统会为该进程分配内存,以及进程运行的...
    流星花娪阅读 623评论 0 1
  • 1.什么是进程? 定义 程序是人使用计算机语言编写的,可以实现一定功能,并且可以执行的代码集合。而进程是正在执行中...
    渡九_6149阅读 740评论 0 2
  • 1.什么是进程? 比如:开发写的代码我们称为程序,那么将开发的代码运行起来。我们称为进程总结以一句话就是:当我们运...
    黄能能阅读 272评论 0 0

友情链接更多精彩内容