1 进程
含义:process运行起来的命令或代码和程序,进程本质上内存中
cpu:处理
内存:软件
磁盘:永久存放数据
守护进程:持续运行的进程
2 僵尸进程
1)含义:
异常进程,僵尸进程需要排查处理,否则僵尸进程增多会导致系统大量资源被占用,系统负载高
2)处理方式
使用kill命令,或者kill -9强制结束进程
解决方案:
:one:如果僵尸进程的上级进程是主进程(基本上是第一个进程),只能重启Linux
:two:如果僵尸进程的上级进程不是主进程(pid1),那么通过Kill命令结束即可
3)查看
通过top命令可以查看系统中是否存在僵尸进程
top
过滤出系统僵尸进程
ps aux | grep z
查看僵尸进程的上级进程的命令
pstree -p #需要更新yum源并且 yum -y install psmisc
3 孤儿进程
1)含义:主进程下的子进程无了然后孙子进程还在,孙子进程被主进程接管,或者孙子进程被销户了只有他自己
4 进程监控指令
:one:top
:two:ps
1) ps命令内容与输出
ps -ef
ps -ef 输出结果 | 说明 |
---|---|
UID⭐⭐⭐ | 进程属于的用户 |
PID⭐⭐⭐ | process id进程ID |
PPID⭐ | 父进程的ID |
TIME | 进程占用CPU的时间 |
CMD⭐⭐⭐ | 进程名字 |
ps aux
ps aux 输出结果 | 说明 |
---|---|
USER | 用户 |
PID | 进程id |
%CPU | 进程cpu的使用率 |
%MEN | 进程的内存使用率 |
STAT | 进程的状态 |
COMMAND | 进程的名称 |
ps aux结果中的 VSZ与RSS区别
VSZ与RSS进程占用的内存大小,单位是KB
VSZ virtual 虚拟内存=物理内存+swap
RSS 物理内存
物理内存:通过 free -h查看:
内存不足的时候充当内存:
windows :虚拟内存
Linux :swap(交换分区)
2) 进程状态
进程状态基础 | 说明 |
---|---|
Z | zombie僵尸进程 |
R | running进程运行中,占用CPU |
S | Sleepling 休眠,没有运行 |
D | 不可中断进程,一般进行IO(读写磁盘) Input Output |
T | 挂起的进程,后台运行并且暂停的状态 |
组合的状态 | 说明 |
---|---|
R+ 或S+或D+ ==加号== | 进程前台运行 |
Ss 小s | 进程是管理进程(父进程) |
R< 或 S< 小于号 | 高优先级 |
RN 或 SN 带N | 低优先级进程 |
SI 带I | 进程是多线程 |
3) 后台运行
前台运行的命令,如果远程连接断开,前台的命令就结束了
让命令去后台运行,后台运行的命令一般就不会因为链接断开而结束
& and 符号
方案 | 说明 |
---|---|
命令 & | 最常用,当前连接结束后会退出 |
nohup 命令 & | 最常用,命令输出保留到一个文件nohup.out |
ctrl +z | 后台挂起(暂停),回到前台运行fg,后台运行bg |
screen 命令 | 命令需要安装,screen命令创建虚拟机窗口,命令可以在里面运行 |
- screen命令
screen -S +名字(随意)
#会进入screen空间,相当于独立的后台空间子bash,会单独后台运行,断开连接,不会影响screen空间会一直执行。
ctrl+a+d 平滑的退出
screen list 查看screen空间的内容
screen + r + pid/名字 回到screen空间
exit 直接退出空间,会终止screen。
故障案例:使用/yum/apt 安装软件卡住了 ctrl+c无法取消(前台)
#1进入后台挂起
yum reinstall tree
ctrl+z #后台挂起
#2.jobs查看后台的进程
jobs
#3.通过kill结束
kill %2 #任务序列号假设是2
4)top命令格式与用法
13.5 kill
命令 | 说明 |
---|---|
kill -1 | 相当于reload,重新加载,不会影响已登录用户的使用,相当于不停机更新 |
kill -15 | 默认 相当于kill |
kill -9 | 强制杀死 |
pkill | yum -y install psmisc 需要安装 可以结束所有 +服务名称 |
killall | yum -y install psmisc 需要安装 可以结束所有 |
6 系统负载故障排查案例
:on:如何检查系统负载
:two:判断系统负载是否高?
:three:如何系统负载高,说出基础排查流程
系统负载:
单位时间内,系统进程处于可以运行状态(R,S状态)和不可中断状态(IO磁盘读写)的进程数量
2)如何衡量系统负载值高低
系统负载的值与cpu核心总数比较(lscpu)
接近cpu核心总数就表示系统负载有一些高
一般进阶CPU核心总数的60%-70% 就要警惕
3)系统负载高排查流程