Linux进程控制与检测
查看系统中运行的程序和进程
判断服务器的健康状态
停止不需要的进程
进程和程序
程序是人用计算机语言编写的,可以实现一定的功能,进程:正在运行的程序。
进程的管理命令
top
查看服务器的进程占用的资源
M 将结果按照内存 从高到低排列
P 将结果按照CPU 从高到低排列
1:切换cpu信息
q:退出
系统整体信息
第一行
09:01:05 系统时间
up 6 min, 系统运行之间
3 users, 当前登录的用户
load average: 0.02, 0.21, 0.14 系统在之前的 1分钟 5分钟 15分钟 的平均负载 如果cpu是单核 那么这个数值超过1 就是高负载 双核就是超过2为高负载
第二行
Tasks: 212 total 系统总进程数
1 running 当前正在运行的进程
211 sleeping 已经休眠的进程
0 stopped 正在停止的进程
0 zombie 代表僵尸进程
第三行
%Cpu(s): 3.5 us 用户模式占用的cpu百分比
0.5 sy 系统占用
0.0 ni 改变过优先级的用户进程占用
98.3 id 空闲
0.2 wa, 等待输入/输出进程占用
0.0 hi 硬中断请求服务 占用
0.0 si 软中断请求服务 占用
0.0 st 虚拟时间百分比
第四行
KiB Mem : 997976 total, 物理内存的总量 单位kb
666264 used, 已经使用的物理内存总量
79656 free 空闲内存
244012 buff/cache 作为缓冲的内存数量
第五行
KiB Swap: 2097148 total 虚拟内存总大小
192512 used. 已经使用的交换分区大小
1904636 free 空闲
125120 avail Mem 可用内存
进程信息![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/0d110af56197e12e7c7a46b80267f167.png)
PID | 进程ID |
---|---|
USER | 进程所属用户 |
PR | 优先级 数值越小 优先级越高 |
NI | 优先级 数值越小 优先级越高 |
VIRT | 进程所使用虚拟内存大小 单位是kb |
RES | 进程所使用物理内存大小 单位是kb |
SHR | 共享内存大小 实际使用内存=常驻内存RES - 共享内存SHR |
S | 当前进程的状态 S代表睡眠 R代表运行 |
%CPU | 该进程占用的cpu百分比 |
%MEM | 进程占用内存的百分比 |
TIME+ | 进程占用的cpu时间 |
COMMAND | 进程名 |
free
查看内存使用情况
-m 代表以mb单位查看
用法1:free -m 查看内存的使用情况
第一行
total 内存总数
used 已经使用的内存数
free 空闲内存数
shared 共享内存数
buff/cache 缓冲区内存数
available 可用内存
swap 代表虚拟内存 在物理内存不够时使用
df
查看磁盘空间
-h 表示以高可读形式展示大小
ps
查看服务器的进程信息
-e -A all 列出全部进程
-f full 显示全字段
UID | 该程序正在执行的用户 |
---|---|
PID | 进程ID |
PPID | 该进程的父进程ID 如果找不到 该进程为僵尸进程 |
C | CPU占用率 |
STIME | 进程启动时间 |
TTY | 终端设备 发起该进程的设备识别符号,?表示该进程不由终端发起 |
TIME | 使用CPU时间 |
CMD | 该进程名称或者对应的路径 |
ps -ef | grep crond
查看某个进程的详细信息
netstat
查看进程的网络连接状态
-t 表示只列出tcp协议的连接
-n 表示将地址从字母组合转化成ip地址 将协议转化成端口号来显示
-l 过滤state 列出listen 监听状态的连接
-p 显示发起连接的进程pid以及进程名称
Proto:协议 tcp udp http
Recv-Q 接收
Send-Q 发送
Local Address 本地地址
Foreign Address 远程地址
State :状态 listen 代表监听状态
PID/Program name:进程ID 进程名
关闭进程
kill
信号编号
9 代表杀死进程 强制结束
15 正常结束进程 kill命令的默认信号
用法1:kill 1053
用法2:kill -9 4472
killall
通过程序的进程名 来杀死一类进程
进程的优先级
优先级 控制哪些进程先运行 哪些后运行
查看进程优先级 top PR NI
改变优先级
在top命令下 使用快捷键r
-20 到 19 只能NI的优先级 不能改PR
命令行修改优先级
renice
修改进程优先级
renice 优先级 进程id (PID)