进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。
1、ps查看系统中所有进程
1)基本语法:
ps -aux (功能描述:查看系统中所有进程)
2)功能说明
USER:该进程是由哪个用户产生的
PID:进程的ID号
%CPU:该进程占用CPU资源的百分比,占用越高,进程越耗费资源;
%MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源;
VSZ:该进程占用虚拟内存的大小,单位KB;
RSS:该进程占用实际物理内存的大小,单位KB;
TTY:该进程是在哪个终端中运行的。其中tty1-tty7代表本地控制台终端,tty1-tty6是本地的字符界面终端,tty7是图形终端,pts/0-255代表虚拟终端。
STAT:进程状态。常见的状态有:R:运行、S:睡眠、T:停止状态、s:包含子进程、+:位于后台
START:该进程的启动时间
TIME:该进程占用CPU的运算时间,注意不是系统时间
COMMAND:产生此进程的命令名
3)案例
[root@hadoop101 datas]# ps -aux
2、top查看系统健康状态
1)基本命令
top [选项]
(1)选项:
-d 秒数:指定top命令每隔几秒更新。默认是3秒在top命令的交互模式当中可以执行的命令:
-i:使top不显示任何闲置或者僵死进程。
-p:通过指定监控进程ID来仅仅监控某个进程的状态。
(2)操作选项:
P: 以CPU使用率排序,默认就是此项
M: 以内存的使用率排序
N: 以PID排序
q: 退出top
(3)查询结果字段解释
第一行信息为任务队列信息
内容 |
说明 |
12:26:46 |
系统当前时间 |
up 1 day, 13:32 |
系统的运行时间,本机已经运行1天 13小时32分钟 |
2 users |
当前登录了两个用户 |
load average: 0.00, 0.00, 0.00 |
系统在之前1分钟,5分钟,15分钟的平均负载。一般认为小于1时,负载较小。如果大于1,系统已经超出负荷。 |
第二行为进程信息
Tasks: 95 total |
系统中的进程总数 |
1 running |
正在运行的进程数 |
94 sleeping |
睡眠的进程 |
0 stopped |
正在停止的进程 |
0 zombie |
僵尸进程。如果不是0,需要手工检 查僵尸进程 |
第三行为CPU信息
Cpu(s): 0.1%us |
用户模式占用的CPU百分比 |
0.1%sy |
系统模式占用的CPU百分比 |
0.0%ni |
改变过优先级的用户进程占用的CPU百分比 |
99.7%id |
空闲CPU的CPU百分比 |
0.1%wa |
等待输入/输出的进程的占用CPU百分比 |
0.0%hi |
硬中断请求服务占用的CPU百分比 |
0.1%si |
软中断请求服务占用的CPU百分比 |
0.0%st |
st(Steal time)虚拟时间百分比。就是当有虚拟机时,虚拟CPU等待实际CPU的时间百分比。 |
第四行为物理内存信息
Mem: 625344k total |
物理内存的总量,单位KB |
571504k used |
已经使用的物理内存数量 |
53840k free |
空闲的物理内存数量,我们使用的是虚拟机,总共只分配了628MB内存,所以只有53MB的空闲内存了 |
65800k buffers |
作为缓冲的内存数量 |
第五行为交换分区(swap)信息
Swap: 524280k total |
交换分区(虚拟内存)的总大小 |
0k used |
已经使用的交互分区的大小 |
524280k free |
空闲交换分区的大小 |
409280k cached |
作为缓存的交互分区的大小 |
2)案例
每隔多少秒刷新
[root@hadoop101 wyh]# top -d 1
查看闲置或僵死线程
[root@hadoop101 wyh]# top –i
查看pid线程
[root@hadoop101 wyh]# top -p 2575
执行上述命令后,可以按P、M、N对查询出的进程结果进行排序。
3、pstree查看进程树
1)基本语法:
pstree [选项]
选项
-p: 显示进程的PID
-u: 显示进程的所属用户
2)案例:
[root@hadoop101 datas]# pstree -u
[root@hadoop101 datas]# pstree -p
4、kill终止进程
1)基本语法:
kill -9 pid进程号
选项
-9 表示强迫进程立即停止
2)案例:
启动mysql程序
切换到root用户执行
[root@hadoop101 ~] # kill -9 5102
5、netstat显示网络统计信息
1)基本语法:
netstat -anp (功能描述:此命令用来显示整个系统目前的网络情况。例如目前的连接、数据包传递数据、或是路由表内容)
选项:
-an 按一定顺序排列输出
-p 表示显示哪个进程在调用
-nltp 查看tcp协议进程端口号
2)案例
查看端口50070的使用情况
[root@hadoop101 hadoop-2.7.2]# netstat -anp | grep 50070
tcp 0 0 0.0.0.0:50070 0.0.0.0:* LISTEN 6816/java
端口号 进程号
6、前后台进程切换
1)基本语法:
fg %1 (功能描述:把后台进程转换成前台进程)
ctrl+z bg %1 (功能描述:把前台进程发到后台)