标签: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
root@pyhon ~]
# 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
标签:linux进程管理
原文地址:http://shandianzhu.blog.51cto.com/936901/1699856