Linux 中进程管理工具汇总

如果我们的Linux系统整个系统资源快要被耗尽时,我们是否能够找出那个最消耗系统资源的进程,然后删除该进程,让系统恢复正常呢,或者由于某个程序存在BUG,导致产生一系列的问题,有如何查找它并结束进程?所有这些情况,我们都应该先查询下系统当前所运行的进程,此时我们可以通过一些进程的管理工具来查看。进程的管理工具有ps,pstree,pggrep,top,pidof等。


1.pstree 显示进程树 pstree -p

2.ps  显示当前系统进程的运行情况
ps -ef 显示所有进程的完整信息。

UID/PID/PPID:代表该进程的发起者/进程号/父进程号

C:cpu的使用率

STIME:进程的启动时间

TTY:登陆者的终端位置,远程登陆的显示pts/n,本地登陆的显示ttyn,?表示系统进程

TIME:进程实际花费的cpu运行时间

CMD:触发这个进程的命令

ps aux

USER:进程的发起者

PID:进程号

%CPU:进程使用掉的cpu资源百分比

%MEM:进程所占用的物理内存百分比

VSZ:进程使用掉的虚拟的内存的大小 单位是Kb

RSS:进程占用的固定内存大小单位是Kb

TTY:指进程是在哪个终端运行

STAT:进程目前的状态(R:running运行状态;S:interruptible sleeping 可中断睡眠;D:uniterruptible sleeping 不可中断睡眠;zombie:僵死态)

自定义的显示 ps axo  如 只显示pid,command,psr(CPU编号),pri(当前进程的优先级),ni(当前进程的nice值)信息
如果需要只显示指定的进程信息,可以通过 pgrep 命令搜索进程 如:只显示 root 用户的进程

3.pgrep 格式 pgrep [options] pattern

-U 仅显示以指定用户身份运行的进程

-G仅显示以指定身份用户组身份运行的进程

-l 显示PID和进程名

4. pidof  显示指定命令所启动的进程,只显示进程编号
5.top  ps显示的是某个时间点的进程状态信息,而top命令可以动态的持续监控进程的运行状态。

分别介绍一下每一行的含义

第一行:

1.当前的系统时间  15:56:41 up

2.系统启动到现在所经过的时间 1:51

3.当前已经登陆系统的用户数 2 users

4.系统在1,5,15分钟的平均负载,值越小表示系统越空闲,如果高于1,则需要注意当前系统负载过高

第二行:显示的是目前进程的总量与个别程序在什么状态

第三行:显示的是cpu的整体负载

第四行:表示物理内存的使用情况

第五行:表示交换分区的使用情况

第六行:默认显示空白,当在 top程序当中输命令时显示状态的地方
6.htop 它是 top 的增强版命令,通过 epel 源来安装,安装完执行 htop 命令,显示如下

htop选项:

-d #: 指定延迟时间;

-u UserName: 仅显示指定用户的进程

-s COLUME: 以指定字段进行排序

htop子命令:

s: 跟踪选定进程的系统调用

l: 显示选定进程打开的文件列表

a:将选定的进程绑定至某指定CPU核心

t: 显示进程树

7.free 命令 查看内存空间的使用状态
free -h 易读格式显示
8.vmstat 命令主要用来动态显示系统资源的使用情况,包括cpu,内存,磁盘,网络等资源

每一行所代表的含义:

pros:进程相关

memory:内存相关

swap:交换分区相关

io:

bi :从磁盘上接收块设备,从磁盘读数据

bo:发送到磁盘上,写磁盘

system:系统相关

cpu:cpu相关

语法:vmstat[options][delay[count]]

vmstat -s 将一些事件导致的内存变化情况列表说明,如下图
vmstat -d 列出磁盘的读写总量统计表 如下图
vmstat 2 3  指2秒钟执行一次,执行3次就退出,可以动态观察
9.iostat 统计CPU和设备IO信息
10.pmap 观察进程和内存的对应关系,可以了解内存的使用情况每个进程运行都会占用内存空间,可使用这个工具加上进程编号查看,详细了解这个进程里面每一个使用的空间,了解这个进程是否处于健康状态,例pmap 1
pmap -x 1 可以显示详细格式的信息

11.glances 远程监控主机的状态,能够监视CPU,负载,内存,磁盘I/O,网络流量,文件系统,系统温度等信息。

一个当客户端,一个服务器端,模拟两个中断

开启方式思路: 在被监控端以服务器方式开启起来,他会监听其中的一个端口,然后在另一台机器上用glances当客户端去连接被监控的主机

server:以监听模式启动glances

启动方式:glances -s -B  IP

-B:用于指明监听的本地地址

Client:以远程模式启动 glances 远程连入指定服务器

启动方式:glances -c IP

-C:用于连入的服务器的地址

glances的显示界面

12.dstat 统计系统资源信息,可以很方便监控系统运行状况并用于基准测试和排除故障,代替vmstat,iostat,在这些命令的基础上增加了监控项,变得灵活了。

dstat --top-cpu 显示最占用CPU的进程

dstat --top-io 显示最占用 IO 的进程

13.iotop 用来观察磁盘 IO 使用状况 找出进程对磁盘读写操作最多的

14.kill 向进程发送控制信号,以实现对进程的管理,每个信号对应一个数字,信号名称以SIG开头,不区分大小写

信号可以用单词表示,也可用数字表示

1) SIGHUP: 无须关闭进程而让其重读配置文件

2) SIGINT: 中止正在运行的进程;相当于Ctrl+c

3) SIGQUIT:相当于ctrl+\

9) SIGKILL: 强制杀死正在运行的进程

15) SIGTERM:终止正在运行的进程

18) SIGCONT:继续运行

19) SIGSTOP:后台休眠

向进程发送信号

kill [-signal] pid  使用kill的时候需要结合ps等命令来获取pid.

killall [-singnal] program 这里使用的是进程名称,可以结束一个程序启动的进程。







猜你喜欢

转载自blog.csdn.net/weixin_41979048/article/details/80208973