详解Linux进程管理

进程管理

进程简介:

进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占有一定的系统资源

进程管理的作用:

1 .判断服务器健康状态

2 .查看系统中所有进程

3 .杀死进程

4 .进程的查看

ps aux
查看系统中所有的进程,使用BSD操作系统格式(没有-只是符合BSD格式,加-也可以)
在这里插入图片描述
ps -le
在这里插入图片描述
F:这个进程的标时。如果是4,表示这个进程的权限是root
S:进程的状态
查看系统中所有的进程,使用Linux标注命令格式
选项
-a:不显示与与终端有关的所有进程。
-u:显示进程的归属用户和内存使用情况
-x:列出较完整的信息,通常与-a使用
-l:长格式显示,显示更加详细的信息
-e:显示所有进程,和-A作用一致

STAT字段:进程状态
常见状态有:
R:运行
S:睡眠
T:停止状态
s:包含子进程
+:位于后台
START字段:进程的启动时间
TIME字段:该进程占用CPU的运算时间,注意不是系统时间
COMMAND字段:产生该进程的命令名

相关命令

  1. pstree[选项]:显示进程树
    选项:
    -p:显示进程的PID
    -u:显示进程的所属用户

  2. top[选项]:查看系统健康状态,可以动态查看系统资源变化
    选项:
    -d:秒数,指定top命令每隔几秒更新,默认是3秒
    -b:使用批处理模式输出。一般和"-n"选项合用
    -n次数:指定top命令执行的次数,一般和"-b"选项合用
    在top命令的交互模式当中可以执行的命令:
    ?或h:显示交互模式的帮助
    P:以CPU使用率进行排序默认就是此项
    M:以内存使用率进行排序
    N:以PID排序
    q:退出top
    ![片描述](https://img-blog.csdnimg.cn/20191005101055711.png

    第一行信息为任务队列信息(不过这里的load average的大小是按系统的核数来看,双核就是2,四核就是4,不过可能即使满足了这个数值,CPU和MEM还可以接受的话也不一定就超出了负载,判断方法可以参考:用5分钟,15分钟的平均负载除以cpu核数,如果小于0.7就是正常
    在这里插入图片描述
    PID是进程号,Pr是进程谦让度,NI是进程优先级,VIRZ是虚拟内存占用量,RES是物理内存占用量。
    杀死进程

  3. kill -l :查看可用的信号
    常用选项:
    -1 重新读取配置文件
    -15 以正常方式终止进程,尽可能地终止
    -9 强制杀死进程

  4. killall: 按照进程名杀死进程
    -i 询问是否杀死进程,交互式
    -I 忽略进程名大小写

  5. pkill :通过进程名终止进程
    -t 通过指定终端号踢出用户(可以先用w命令查看登陆的用户的信息)
    如kill -9 -t tty2

有关僵尸进程的问题
造成僵尸进程的原因是该进程本来应该已经结束,但是该进程的父进程无法完整地将该进程结束掉,造成该进程一直存在内存里面

ps aux | grep '<defunct>'

通过这个命令可以查看僵尸进程是否存在。

系统资源查看

vmstat [刷新延时 刷新次数]:监控系统资源
例如:
vmstat 1 3
在这里插入图片描述
procs:进程信息字段
r:等待运行的进程数,数量越大,系统越繁忙
b:不可被唤醒的进程数量,数量越大,系统越繁忙
memory:内存信息字段
swpd:虚拟内存的使用情况,单位kb
free:空闲的内存容量,单位kb
buff:缓冲的内存容量,单位kb
cache:缓存的内存容量,单位kb

缓冲和缓存的区别
简单来说缓存(cache)是用来加速数据从磁盘中“读取”的,而缓冲(buffer)是用来加速数据“写入”硬盘的,因为cpu的速度很快,硬盘速度太慢

swap:交换分区的信息字段
si:从磁盘中交换到内存中数据的数量,单位kb
so:从内存中交换到磁盘中数据的数量,单位kb
上面两个数越大,证明数据经常在磁盘和内存之间交换,系统性能越差
io:磁盘读写信息字段
bi:从块设备读入数据的总量,单位是块
bo:写到块设备的数据的总量,单位是块
上面连个数越大,代表系统的I/O越繁忙

system:系统信息字段
in:每秒被中断的进程次数
cs:每秒钟进行的事件切换次数
上面两个数越大,代表系统与接口设备的通信非常繁忙
CPU:CPU信息字段
us:非内核进程消耗CPU运算时间百分比
sy:内核进程消耗CPU运算时间百分比
id:内核CPU的百分比
wa:等待I/O所消耗的CPU百分比
st:被虚拟机所盗用的CPU百分比

dmesg:开机时内核检测信息 ,用这个命令查看内核状态
dmesg
dmesg | grep CPU

free [-b|-k|-m|-g|-h]:查看内存使用信息
选项:
-b:单位字节
-k:单位KB
-m:单位MB
-g:单位GB
-h:单位自动

cat /proc/cpuinfo:查看CPU信息
/proc/*这个目录的作用:进程都是在内存中的,内存当中的数据都是写入到这个目录下的,这个目录不消耗磁盘大小。

uptime:显示系统的启动时间和平均负载,也就是top命令的第一行,w命令也可以看到这个信息,top比较消耗内存资源,如果只看负载,可以用这个

uname [选项]:查看系统与内核相关信息
选项:
-a:查看系统所有相关信息
-r:查看内核版本
-s:查看内核名称

file /bin/ls:判断当前系统的操作位数

lsb_release -a:查看当前系统的发行版

fuser [选项] file :通过文件找出正在使用该文件的进程
-u:列出该进程拥有者
-v:列出文件与进程还有命令的相关性
lsof [选项]:列出进程打开或使用的文件信息
选项:
-c 字符串:只列出以字符串开头的进程打开的文件
-u 用户名:只类出某个用户的进程打开的文件
-p pid:列出某个PID进程打开的文件

lsof | more:查询系统中所有进程调用的文件
lsof /sbin/init:查询某个文件被哪个进程调用
lsof -c httpd:查看httpd进程调用了哪些文件
lsof -u root:按照用户名,查询某用户的进程调用的文件名

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值