Linux系统管理之进程管理
编辑Linux系统管理之进程管理
进程管理简介
- 进程是正在执行的一个命令或者程序,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源
进程管理的作用
- 判断服务器健康状态
- 查看系统中的所有进程
- 杀死进程
进程查看-ps
命令和pstree
命令
-
ps aux
查看系统中的所有进程,使用BSD操作系统格式 -
ps -le
查看系统中的所有进程,使用linux标准命令格式- 选项
-a
显示一个终端的所有进程,除了会话引线 -u
显示进程的归属用户以及内存使用情况-x
显示没有控制终端的进程-l
长格式显示,显示更加详细的信息-e
显示所有的进程,作用 和-A
一致
- 选项
-
ps命令的输出
-
进程的状态
-
pstree [选项]
查看进程树- 选项
-p
显示进程树的PID -u
显示进程树的所属用户
- 选项
进程查看-top
命令,查看系统健康状态
-
top [选项]
-d
秒数:指定top命令每隔几秒更新,默认是3秒-b
使用批处理模式输出,一般和-n
选项合用-n
次数:指定top命令执行的次数,一般和-b
选项合用
-
在top命令的交互模式中可以执行的命令 (
shift + [命令]
)?
或者h
,显示交互模式的帮助P
:以cpu的使用率排序,默认就是此项
-
M
:以内存的使用率排序 -
N
:以PID排序q
:退出top
top命令查看,第一行信息为任务队列信息 主要是 15分钟,五分钟,一分钟的负载均衡
top命令查看,第二行信息为进程信息
- 僵尸进程,若是短期出现,可能就是某个正在关闭的进程,等一会即可,若是长期存在,则需要查询进程的作用,不是很重要的话直接结束即可
top命令查看,第三行信息为cpu信息,
- 空闲cpu不应该低于百分之二十,cpu占用超过百分之八十就会卡
top命令查看,第四行信息为物理内存信息,主要是空闲内存占比
top命令查看,第五行信息为交换分区(swap)信息,当对内存要求较高的时候,swap也会被大量占用
buffer 缓冲,加速数据写入,先写入内存待到积累到一定程度再一次性写入,减少了频繁写入磁盘;cache缓存,加速数据读取
有计划重启是服务器维护的基本原则,特别是一些高频访问的或者是高压力的服务器,定期重启让服务器的状态初始化
使用top 查看所有进程
top -b -n 1 > /root/top.log
将top命令执行一次重定向输出到文件中,可以打印全部的进程信息
杀死进程
-
kill -l
查看可用的进程信号 , -
kill -1/HUP 进程号
平滑重启进程,重新加载配置文件,不会把已经登陆的用户踢出去 -
kill -9 进程号
强制杀死进程,一般只是在正常关闭重启不起作用的情况下才使用强制终止
kill 只能杀死、重启操作单一的某个进程,但是对于有多个进程的服务并不适用
killall
命令,适用于启动了多个进程的情况
-
killall [选项] [信号] 进程名
按照进程名杀死进程- 选项
-i
: 交互式 ,询问是否要杀死某个进程 -I
: 忽略进程名的大小写
- 选项
pkill
命令, 基本和 killall一致
-
killall [选项] [信号] 进程名
按照进程名终止进程 -
选项
-t
终端号:pkill -9 -t pts/1
按照终端号踢出用户,只有超级用户才能踢出其他用户,普通用户不可以 -
w
查看当前的系统基本信息和本机登陆的用户,包括本地和远程
修改进程的优先级
进程优先级简介
-
linux操作系统是一个多用户,多任务的操作系统,linux系统中通知运行着非常多的进程,但是cpu在同一个时钟周期内只能运算一个指令,进程优先级决定了每个进程处理的先后顺序;
-
ps -le
查看进程详细信息,包括优先级 -
PRI代表 Priority,NI代表Nice,这两个值都是优先级,数字越小代表该进程优先级越高
-
不管是超级用户还是普通用户都不可以直接修改PRI的值,但是 可以修改NI的值,系统最终生效的值是 PRI+NI
-
通常情况下不需要用户去修改进程的优先级
修改NI值时有几个注意事项
nice 命令
-
nice [选项] 命令
nice命令可以给新执行的命令直接赋予NI值,但是不能修改已经存在进程的NI值 -
选项
-n
NI值:给命令赋予NI值 -
例如
nice -n -5 service httpd start
提升五个单位的优先级启动httpd服务
renice 命令
-
renice [优先级] PID
renice 命令是修改已经存在进程的NI值的命令 -
例如
renice -10 2015
将指定的一个pid的进程优先级提升十个单位
- 0
- 0
-
分享