管理进程状态
kill
使用格式:
kill [信号] 进程id
常用的kill信号:
-1 :重新加载配置文件
-9 :强制杀死进程 (谨慎使用)
-15 : 终止进程(默认)
[root@oldboy ~]# kill 9192
终止进程id为9192的进程
[root@oldboy ~]# kill -9 9192
强制杀死9192进程
[root@oldboy ~]# kill -1 9192
重新加载9192进程的配置文件
——————————————————————
pkill
使用格式:
pkill 服务名
[root@oldboy ~]# pkill httpd
杀死httpd进程
[root@oldboy ~]# pkill -9 -t pts/1
踢掉某个bash窗口
—————————————————————————
killall
使用格式:
kill all服务名
[root@oldboy ~]# pkill httpd
杀死httpd进程
——————————————————
管理进程状态
screen
管理后台工具。
-list : 查看后台正在运行的命令列表
-r: 进入后台正在运行的某个命令
-S:指定screen窗口名称
进入screen后如果想要回到bash窗口但不终止screen中的任务的话,需要使用ctrl+a+d快捷键实现,如果想终止screen窗口,然后输入exit即可。
进程优先级
优先级指的是优先享受资源,优先级的存在主要是解决重要的进程无法可能无法得到更快的执行的问题而产生。系统中的优先级用nice值表示,值越高,表示优先级越低,值最高为+19,反之,值越低,表示优先级越高,值最低为-20。一般情况下我们的优先级是0.
例如
[root@oldboy ~]# nice -n -20 vim
调整vim进程的优先级为-20
我们也可以使用renice调整正在运行的进程的优先级。
[root@oldboy ~]# renice -n 进程优先级 进程pid1
有关进程优先级出现的故障之一就是系统假死,系统假死就是我们能ping通服务器但是不能使用ssh去连接服务器的故障,这种故障就是因为ssh服务的优先级过低,得不到系统调度而产生的。防止这种故障最简单的做法就是修改ssh的优先级,当ssh的优先级较高之后,就不会发生这种问题。
平均负载
平均负载就是单位时间内,系统处于可运行状态R和不可中断状态D的平均进程数,也就是平均活跃进程数。以2核CPU为例,最合适的平均负载值为2,如果为1说明CPU比较空闲,如果为4,则说明有一半的进程暂时无法被调度。
使用top去查看进程信息时,里面的平均负载值有3个,分别为1分钟,5分钟,15分钟的平均负载值,这三项需要组合起来观察才能体现平均负载的意义。
在实际生产环境中,在平均负载值高于CPU数量的70%时,我们就需要分析并排查负载高的原因了,一旦负载过高,有可能会导致进程相应变慢,进而影响服务的正常功能。
平均负载与CPU使用率相比,他会多一个等待I/O的进程,因此平均负载与CPU使用率并不完全相同。
在排查系统故障时,常用步骤为:
1.uptime看看负载的情况 ( 超过了 cpu的核心 )
2.top看是cpu的使用率高 还是 wa等待高 还是内核态占用cpu高 、软中断高 、nice优先级进程占用cpu、
3.top看是哪个进程
4.追踪这个进程的情况。
5.看看是否存在异常日志。