系统管理之后台管理

后台管理
前台(前台运行):需要连接后进行运行或操作,连接断开这个命令,操作就自动结束;
后台(后台运行):让软件进行系统后台,持续运行,一般情况下连接断开了也不会影响,软件还会持续运行;
如何区分前台程序,后台程序:进程状态查看,带+表示前台运行的进程。

软件后台运行方法:
1、命令 &:常用的后台运行方法,大部分时候使用这个即可;
2、先运行命令,然后按下Ctrl + z(后台挂起),bg:软件进入后台运行,顽固软件Ctrl+c无法结束,可以通过这个方法结束它;
3、screen命令:通过软件创建空间,让命令在这个空间运行,稳定性比1、4好;
4、nohup 命令 &:与第1个类似,会记录输出到文件中默认叫nohup.out,如果想记录输出则可以用这个主法;

1)&方法
案例1,让sleep 999命令后台运行
[root@web01 ~]# sleep 999 &
[1] 1697 //进程PID号,中括号里边表示手动进入到后台运行的第1个进程
[root@web01 ~]# ps aux | grep sleep //可以查询进程状态;
root 1697 0.0 0.0 108052 356 pts/0 S 16:29 0:00 sleep 999
jobs //可以查看手动进入后台的进程;
[root@web01 ~]# jobs
[1] Running sleep 999 &
[2] Running sleep 999 &
[3] Running sleep 999 &
[4] Running sleep 999 &
[5]- Running sleep 999 &
[6]+ Running sleep 999 &

4)nohup方法:类似&,只是可以保留输出到指定文件中。默认是nohup.out文件中;其他方面与&符号类似
nohup ping -c20 www.baidu.com &
nohup ping 10.0.0.10 > mclind.txt & //输出到指定mclind.txt文件

2)Ctrl+z:这个在Linux,就是让程序后台挂起,不是运行;一般较少使用;在windows下是撤销;
ping -c200 www.baidu.com
Ctrl+z //挂起了
bg//将程序进入后台运行
fg//程序回到前台


3)screen
一般使用&,nohup方法让命令,服务进入后台,但可能不稳定;
然后,这时候,可以通过screen命令较为稳定的去后台运行一些指令。
简易原理:创建screen空间,screen命令维持,在里面运行的命令只要空间在,里面的命令就不会断(后台运行)

#1、安装screen
yum install -y screen
#2、运行scree
screen
进入screen虚拟窗口;
#3、执行命令
ping www.baidu.com
#4、退出screen窗口
ctrl+A+D
#5、查看screen窗口
screen -ls
#6、恢复
screen -r
彻底结束
ctrl + d


杀手三剑客
用于结束进程的命令
kill:kill + 进程pid进行结束,常用;
pkill:pkill + 进程名字,模糊查找;
killall:killall + 进程名字,精确;

kill信号:
kill pid :默认发送结束信号;
kill -9 pid 发送强制结束信号。别用kill -9 杀死数据库;

负载:load average,平均负载:最近1分钟,5分钟,15分钟系统平均负载;
负载:衡量系统繁忙程度指标;
衡量是否繁忙:数值越接近CPU核心总数,系统的负载越高;
预警:建议70-80%

负载原理:
那到底如何理解平均负载:平均负载是指单位时间内,系统处于可运行状态(R,S)和不可中断状态(D)的平均进程数,也就是平均活跃进程数。
负载是衡量正在运行的进程的平均数(可以中断进程和不可中断进程)。

系统负载显示出什么信息:
负载主要衡量的是 可运行状态(R,S,占用CPU)和不可中断(IO)

负载高?
排查流量:通过监控软件发现系统负载高。
判断是CPU还是IO导致的负载高:
CPU高:top中 us(user 用户占用cpu) sy(system 系统占用cpu);
IO高:top中的wa(iowait)磁盘IO导致的负载高。
如果是CPU导致的,排查出哪个进程导致的,ps aux cpu使用率;
如果是IO导致的,排查初级哪个进程导致的iotop -o。

iotop -o 即可 //参数-o,只显示正在读写的程序;
dd if=/dev/zero of=/tmp/big bs=1M count=500
if input file 输入文件 固定/dev/zero;
of output file 输出文件 (你要创建的文件);
bs block size 每次读取大小一般1M即可;
count 数量,次数;

posted @ 2022-12-17 16:15  mclind  阅读(845)  评论(0编辑  收藏  举报