20190923-10Linux进程线程类 000 018

懵懂的女人 提交于 2019-11-30 06:36:02

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

 

 

ps 查看当前系统进程状态

 

ps:process status 进程状态

 

1.基本语法

 

ps aux | grep xxx (功能描述:查看系统中所有进程)

 

ps -ef | grep xxx (功能描述可以查看子进程之间的关系)

 

2.选项说明

 

1-35

 

选项

功能

-a

选择所有进程

-u

显示所有用户的所有进程

-x

显示没有终端的进程

 

3.功能说明

 

1ps aux显示信息说明

 

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:产生此进程的命令名

 

2ps -ef显示信息说明

 

UID:用户ID

 

PID:进程ID

 

PPID:父进程ID

 

CCPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高

 

STIME:进程启动的时间

 

TTY:完整的终端名称

 

TIMECPU时间

 

CMD:启动进程所用的命令和参数

 

4.经验技巧

 

如果想查看进程的CPU占用率和内存占用率,可以使用aux;

 

如果想查看进程的父进程ID可以使用ef;

 

5.案例实操

 

[root@hadoop101 datas]# ps aux

 

如图1-161所示

 

 

 

 

 

1-161 查看进程的CPU占用率和内存占用率

 

[root@hadoop101 datas]# ps -ef

 

 

 

如图1-162所示

 

 

 

 

 

1-162  查看进程的父进程ID

 

kill 终止进程

1.基本语法

kill  [选项] 进程号 (功能描述:通过进程号杀死进程)

killall 进程名称 (功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用

2.选项说明

1-36

选项

功能

-9

表示强迫进程立即停止

3.案例实操

1)杀死浏览器进程

[root@hadoop101 桌面]# kill -9 5102

2)通过进程名称杀死进程

[root@hadoop101 桌面]# killall firefox

 

 

pstree 查看进程树

 

1.基本语法

 

pstree [选项]

 

2.选项说明

 

1-37

 

选项

功能

-p

显示进程的PID

-u

显示进程的所属用户

 

 

 

3.案例实操

 

1)显示进程pid

 

[root@hadoop101 datas]# pstree -p

 

2)显示进程所属用户

 

[root@hadoop101 datas]# pstree -u

 

top 查看系统健康状态

1.基本命令

top [选项]

2.选项说明

1-38

选项

功能

-d 秒数

指定top命令每隔几秒更新。默认是3秒在top命令的交互模式当中可以执行的命令:

-i

使top不显示任何闲置或者僵死进程。

-p

通过指定监控进程ID来仅仅监控某个进程的状态。

3.操作说明

1-39

操作

功能

P

CPU使用率排序,默认就是此项

M

以内存的使用率排序

N

PID排序

q

退出top

4.查询结果字段解释

第一行信息为任务队列信息

1-40

内容

说明

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,系统已经超出负荷。

第二行为进程信息

1-41

Tasks:  95 total

系统中的进程总数

1 running

正在运行的进程数

94 sleeping

睡眠的进程

0 stopped

正在停止的进程

0 zombie

僵尸进程。如果不是0,需要手工检查僵尸进程

第三行为CPU信息

1-42

Cpu(s):  0.1%us

用户模式占用的CPU百分比

0.1%sy

系统模式占用的CPU百分比

0.0%ni

改变过优先级的用户进程占用的CPU百分比

99.7%id

空闲CPUCPU百分比

0.1%wa

等待输入/输出的进程的占用CPU百分比

0.0%hi

硬中断请求服务占用的CPU百分比

0.1%si

软中断请求服务占用的CPU百分比

0.0%st

stSteal  time)虚拟时间百分比。就是当有虚拟机时,虚拟CPU等待实际CPU的时间百分比。

第四行为物理内存信息

1-43

Mem:    625344k total

物理内存的总量,单位KB

571504k used

已经使用的物理内存数量

53840k free

空闲的物理内存数量,我们使用的是虚拟机,总共只分配了628MB内存,所以只有53MB的空闲内存了

65800k buffers

作为缓冲的内存数量

第五行为交换分区(swap)信息

1-44

Swap:   524280k total

交换分区(虚拟内存)的总大小

0k used

已经使用的交互分区的大小

524280k free

空闲交换分区的大小

409280k cached

作为缓存的交互分区的大小

5.案例实操

[root@hadoop101 atguigu]# top -d 1

[root@hadoop101 atguigu]# top -i

[root@hadoop101 atguigu]# top -p 2575

执行上述命令后,可以按PMN对查询出的进程结果进行排序。

 

 

netstat 显示网络统计信息端口占用情况

 

1.基本语法

 

netstat -anp |grep 进程 (功能描述:查看该进程网络信息

 

netstat -nlp | grep 端口号 (功能描述:查看网络端口号占用情况)

 

2.选项说明

 

1-45

 

选项

功能

-n

拒绝显示别名,能显示数字的全部转化成数字

-l

仅列出有在listen(监听)的服务状态

-p

表示显示哪个进程在调用

 

3.案例实操

 

1)通过进程号查看该进程的网络信息

 

[root@hadoop101 hadoop-2.7.2]# netstat -anp | grep 火狐浏览器进程号

 

unix  2      [ ACC ]     STREAM     LISTENING     20670  3115/firefox        /tmp/orbit-root/linc-c2b-0-5734667cbe29

 

unix  3      [ ]         STREAM     CONNECTED     20673  3115/firefox        /tmp/orbit-root/linc-c2b-0-5734667cbe29

 

unix  3      [ ]         STREAM     CONNECTED     20668  3115/firefox        

 

unix  3      [ ]         STREAM     CONNECTED     20666  3115/firefox     

 

 

 

(2)查看某端口号是否被占用

 

[root@hadoop101 桌面]# netstat -nlp | grep 20670 

 

unix  2      [ ACC ]     STREAM     LISTENING     20670  3115/firefox        /tmp/orbit-root/linc-c2b-0-5734667cbe29

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!