Linux进程管理工具

一、top

top命令用于显示系统当前的进程和其他状况;top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态。如果再前台执行该命令,它将独占前台,直到用户终止该程序为止。

其中1-5行为统计信息区,剩余行为进程信息区;
1.统计信息区
1)第1行为任务队列信息(与uptime命令运行结果相同)
字段含义:当前时间    
系统启动持续时间   当前登陆用户数    系统负载,即任务队列的平均长度备注:格式为"日期,时:分"
三个数值分别为1,5和15分钟前到现在的均值
2)第2行为进程信息
字段含义:
进程总数    正在运行的进程数   睡眠的进程数   已停止的进程数  僵死进程数
3)第3行为CPU信息
字段含义:us----用户空间占用CPU百分比;
                   sy----内核空间占用CPU百分比;
                   ni----用户进程空间内改变过优先级的进程占用CPU百分比
                   id----空闲CPU百分比
                   wa--等待io完成的CPU时间百分比
                   hi----硬件中断
                   si----软中断(模式切换)

st----被偷走的cpu时间比例
4)第4行为内存信息
字段含义:total----物理内存总量
                   used----使用的物理内存总量
                   free-----空闲内存总量
                   buffers--用作内核缓存的内存量
5)第5行为交换区swap的信息
字段含义:total----交换分区总量
                   used---已使用的交换区总量
                   free----空闲交换区总量
                  cached--缓冲的交换去总量

2.进程信息区
进程信息区详细列出了各进程的详细信息,其中每行代表一个进程;每列的含义如下:
列信息
信息内容:PID
USER PR NI VIRT RES SHR S %CPU %MEM
TIME COMMAND
字段含义:
PID----进程id
                   USER--进程所有者的用户名
                   PR-----进程的优先级
                   NI------nice值,负值表示更高的优先级,正值表示低优先级
                   VIRT---进程使用的虚拟内存总量,单位为kb。
                   RES----进程使用的、未被换出的物理内存的大小,单位为kb。
                   SHR---共享内存的大小,单位为kb
                   S-------进程状态
                              D---不可中断的睡眠状态
                              R---运行
                              S---睡眠
                              T---跟踪/停止
                              Z---僵尸进程
                   %CPU--上次更新到现在的CPU时间占用比
                   %MEM--进程使用的物理内存百分比
                   TIME ---进程使用的CPU时间总计,单位为1/100秒
                   COMMAND---命令行/命令名
备      
注:以上显示的内容只是top命令的一部分内容,还有其他列,信息如下:
                  SWAP----进程使用的虚拟内存中,被换出的大小
                  CODE---可执行代码占用的物理内存大小,单位为kb
                  DATA----可执行代码以外的部分(数据段 栈)占用的物理内存大小,单位为kb
                  PPID------父进程ID
                  RUSER----real user name
                  UID--------进程所有者的用户id
                  GROUP--进程所有者的组名
                  TTY--------启动进程的终端名,不是从终端启动的进程则显示为?
                  #C--------Last used CPU (SMP)
                  TIME------进程使用的CPU时间总计,单位秒
                  nFLT------页面错误次数
                  nDRT-----最后一次写入到现在,被修改过的页面数
                  WCHAN--若该进程在睡眠,则显示睡眠中的系统函数名
                  Flags-----任务标志,参照sched.h
                  更改显示列的方法:
                  a)通过f键可以选择显示的内容,按f键后会显示列的列表,按a-z即可显示或隐藏对应的列,最后按回车键确定;
                  b)按o键可以改变列的显示顺序。按小写的a-z可以将相应的列向右移动,而大写的A-Z可以将相应的列向左移动。最后按回车键确定;
                  c)按大写F或O键,然后按a-z可以将进程按照相应的列进行排序。而大写的R键可以将当前的排序倒转;



二、htop

2.1、htop
简介

htop
是Linux系统中的一个互动的进程查看器,一个文本模式的应用程序(在控制台或者X终端中)。

与Linux传统的top相比,htop更加人性化。它可让用户交互式操作,支持颜色主题,可横向或纵向滚动浏览进程列表,并支持鼠标操作。

与top相比,htop有以下优点:

  • 可以横向或纵向滚动浏览进程列表,以便看到所有的进程和完整的命令行。
  • 在启动上,比top
    更快。
  • 杀进程时不需要输入进程号。
  • htop
    支持鼠标操作。
  • top
    已经很老了。

2.2、htop安装

2.3、htop参数

上面左上角显示CPU、内存、交换区的使用情况,右边显示任务、负载、开机时间,下面就是进程实时状况。

下面是
F1~F10 的功能和对应的字母快捷键。

F1 查看htop使用说明

F2 htop 设定

F3 搜索进程

F4 增量进程过滤器

F5 显示树形结构

F6 选择排序方式

F7 可减少nice值,这样就可以提高对应进程的优先级

F8 可增加nice值,这样就可以降低对应进程的优先级

F9 可对进程传递信号

F10 结束htop

命令行选项(COMMAND-LINE
OPTIONS)

-C
--no-color        使用一个单色的配色方案

-d
--delay=DELAY     设置延迟更新时间,单位秒

-h --help           显示htop
命令帮助信息

-u --user=USERNAME  
只显示一个给定的用户的过程

-p --pid=PID,PID…     
只显示给定的PIDs

-s --sort-key COLUMN   
依此列来排序

-v –version       
 显示版本信息

交互式命令(INTERACTIVE
COMMANDS)

上下键或PgUP,
PgDn
选定想要的进程,左右键或Home,
End
移动字段,当然也可以直接用鼠标选定进程;

Space    标记/取消标记一个进程。命令可以作用于多个进程,例如 "kill",将应用于所有已标记的进程

U    取消标记所有进程

s    选择某一进程,按s:用strace追踪进程的系统调用

l  
 显示进程打开的文件: 如果安装了lsof,按此键可以显示进程所打开的文件

I  
 倒转排序顺序,如果排序是正序的,则反转成倒序的,反之亦然

+,
-
   When in tree view mode, expand or collapse subtree. When a subtree
is collapsed a "+" sign shows to the left of the process name.

a
(在有多处理器的机器上)
   设置 CPU affinity: 标记一个进程允许使用哪些CPU

u  
 显示特定用户进程

M   按Memory 使用排序

P    按CPU 使用排序

T   按Time+ 使用排序

F    跟踪进程:
如果排序顺序引起选定的进程在列表上到处移动,让选定条跟随该进程。这对监视一个进程非常有用:通过这种方式,你可以让一个进程在屏幕上一直可见。使用方向键会停止该功能。

K    显示/隐藏内核线程

H   显示/隐藏用户线程

Ctrl-L  
 刷新

Numbers   PID 查找: 输入PID,光标将移动到相应的进程上

2.3.1、按F1查看帮助

2.3.2、按F2设定

上方左右两栏的显示方式分为Text
Bar Graph Led 四种

2.3.3、按下F3鼠标 或者点击Search
或者输入"/", 输入进程名进行搜索,例如搜索ssh

2.3.4、按下F4进入过滤器,相当于关键字搜索,不区分大小写,例如过滤dev

2.3.5、 F5显示树形结构

显示树形结构,意思跟pstree
差不多,能看到所有程序树状执行的结构,这对于系统管理来说相当方便,理清程序是如何产生的,当然树状结构的浏览也可以依照其他数据来排序。

2.3.6、 选择排序方式

按下F6 就可以选择依照什么来排序,最常排序的内容就是cpu
和memory 吧!

2.3.7
操作进程

F7、F8分别对应nice-和nice+,F9对应kill给进程发信号,选好信号回车就OK了



三、glances

3.1、glances简介

glances
是一款用于 Linux、BSD 的开源命令行系统监视工具,它使用 Python 语言开发,使用psutil
库来采集系统数据,能够监视 CPU、负载、内存、磁盘
I/O、网络流量、文件系统、系统温度等信息。相对于top/vmstat/iostat等老牌监控工具,glances具有的优点是:Glances
可以监控本机也可以通过客户端服务器模式监控其他机器;Glances 提供了基于 XML/RPC 的 API 便于其他程序调用,可编程;Glances
可以将数据输出保存到 csv 或 html 格式的文件方便其他程序处理(报告或绘制图形)。

3.2、glances安装

3.3、glances显示信息说明

VIRT:
虚拟内存大小
RES:
进程占用的物理内存值
CPU%:该进程占用的
CPU 使用率
MEM%:该进程占用的物理内存和总内存的百分比
PID:
进程 ID 号
USER:
进程所有者的用户名
TIME+:
该进程启动后占用的总的 CPU 时间
IOR/s
和 IOW/s: 进程的读写 I/O 速率
NAME:
进程名称
NI:
进程优先级
S:
进程状态,其中 S 表示休眠,R 表示正在运行,Z 表示僵死状态。

四、dstat

4.1、dstat简介

dstat工具默认情况下会动态显示CPU,disk,net,page,system负载情况

4.2、安装dstat

[email protected] ~]# yum install -y dstat

-C
当有多个CPU时候,此参数可按需分别显示cpu状态;如 -C
0,1 显示cpu0和cpu1的信息

-d disk,显示磁盘读写数据大小

-D
指定磁盘读写数据大小

-n net
显示网络状态

-N net
有多块网卡时,指定要显示的网卡

-l load average
显示系统负载情况

-m memory 显示内存使用情况

-g page 显示页面使用情况

-p process 显示进程状态

-s swap 显示交换分区使用情况

-r I/O请求情况

-y system status

--ipc
显示ipc消息队列,信号等信息

--socket 用来显示tcp
udp端口状态

-v vmstat 等同于 -pmgdsc -D
total

时间: 2024-12-09 04:06:18

Linux进程管理工具的相关文章

Linux进程管理工具--God-详解(1)-入门

God是一个由Ruby编写的监控架构,它可以保障你的进程为运行状态,以及可以对一些特殊情况进行进程的重启.拓展可以通过frigga来进行全局god的管理. 最好的安装方式(通过ruby-gems): gem install god 快速启动 注意:快速启动需要0.12版本以上的,你可以使用以下命令查看版本: god --version 一个简单的例子:使用god保持一个简单的进程. 下面是一个简单的脚本,名字为hello.py #!/usr/bin/env python # import tim

linux进程管理工具一

内核最强大功能之一就是进程管理,对于system administrator来说,这部分熟练度对于系统调优起着决定性作用.现在我们一起来了解一下linux的进程管理工具吧,在介绍工具之前,有些基本概念要澄清: task struct:Linux内核存储进程信息的固定格式多个任务的的task struct组件的链表:task list MMU:Memory Management Unit  实现线性地址和物理地址的转换(根据task structure)虚拟内存集:可以被换出到swap的地址空间

linux 进程管理工具

进程管理 狭义定义:进程是正在运行的程序的实例. 广义定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动.它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元. 进程是操作系统中最基本.重要的概念.是多道程序系统出现后,为了刻画系统内部出现的动态情况,描述系统内部各道程序的活动规律引进的一个概念,所有多道程序设计操作系统都建立在进程的基础上. 一.进程的属性: 进程ID(PID):是唯一的数值,用来区分进程: 父进程和父进程的ID(PP

Linux进程管理工具之top,htop,glances,dstat

借助于本次课程学习外加查阅网上资料,特针对top,glances.dstat做简单介绍. 接触过linux的人都会知道,刚才所述的几个都是与windows中任务管理器一样,只需在命令行中键入这几种命令,就可以定时刷新显示当前系统上各设备使用情况.比如CPU占用百分比.负载,硬盘读写速率,网络传输情况. top 其中显示的从上到下,从左到右各个的含义为: top:当前系统时间: up:系统运行时长: user:当前登陆的用户数: load average:平均负载(逗号隔开的三个数分别为过去一分钟

Linux进程管理工具 Supervisord 的安装 及 入门教程

Supervisor是一个进程管理工具,官方的说法: 用途就是有一个进程需要每时每刻不断的跑,但是这个进程又有可能由于各种原因有可能中断.当进程中断的时候我希望能自动重新启动它,此时,我就需要使用到了Supervisor 主要就两个命令: supervisord : supervisor的服务器端部分,启动 supervisor 就是运行这个命令 supervisorctl:启动 supervisor 的命令行窗口. 安装(CentOS): 方式一: yum -y install python-

Linux进程管理工具——supervisor

介绍 Supervisord是用Python实现的一款非常实用的进程管理工具 安装 这里用源码 supervisor-3.1.3.tar.gz tar -zxvf supervisor-3.1.3.tar.gz cd supervisor-3.1.3 sudo python setup.py install 生成默认配置文件 echo_supervisord_conf > /etc/supervisord.conf 修改默认配置文件 如需访问wenb界面,修改inet_http_server配置

Linux进程管理工具的使用

进程管理工具之一 htop htop是基于ncurses做的,可以说是top的升级版,htop在继承了top原有的功能外让界面更加友好,支持交互式操作并且可以使用鼠标操作. 在命令行里输入htop回车就会看到htop的界面(前提是系统上安装了htop) CPU:cpu使用率 Mem:内存使用率 Swp:交换空间的使用率 Tasks:进程数 thr:线程数 Load average:系统平均负载 Uptime:系统运行时间 下方快捷键 F1 打开帮助 F2 打开设定 F3 可以给出关键字进行搜索

Linux进程管理工具详解

 进程管理工具 查看进程 pstree  显示进程树 -p:显示PID ps 搜索进程 ps | grep pgrep pidof 系统监控工具 uptime free top 第一行:当前系统时间  系统启动到现在所经过的时间  当前上线用户数  系统在1,5,15分钟的平均负载 相当于uptime命令:交互按键:l 注意:平均负载值越小,系统越空闲:如果高于1,当前系统负载过高 第二行:显示的是目前进程总量与个别程序在什么状态(running,sleeping,stopped,zombie)

Linux进程管理工具详解:htop、glances、dstat

1.进程相关知识     1.操作系统的功能:文件系统.网络功能.进程管理.内存管理.安全功能.驱动程序(Linux是一个多任务的操作系统,而且是抢占式的多任务操作系统);.OS其实就是提供虚拟的计算机,进而能够将有限的资源借助于"保护"机制分配多个同时运行的程序,即"进程"使用,从而实现了所谓的多任务 2.程序执行环境有2种: 内核模式:cpu运行内核级指令 用户模式:cpu运行普通指令 3.应用程序运行普通指令,其实是直接运行于cpu上:应用程序运行特权指令,是

Linux进程管理工具之ps

1.PS进程管理指令 ps    -aux USER:用户名称 PID:进程号 %CPU:进程占用CPU的百分比 %MEM:进程占用物理内存的百分比 VSZ:进程占用的虚拟内存大小(单位:KB) RSS:进程占用的物理内存大小(单位:KB) TT:终端名称(缩写),若为?,则代表此进程与终端无关,因为它们是由系统启动的 STAT:进程状态,其中S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止等等 S