Linux进程管理之“四大名捕”

运维 系统运维 系统
本文四大名捕由linux命令所出演,介绍四大名捕之前先介绍一下进程相关的基础知识。

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://xinzong.blog.51cto.com/10018904/1755060

一、四大名捕

四大名捕,最初出现于温瑞安创作的武侠小说,是朝廷中正义力量诸葛小花的四大徒弟,四人各怀绝技,分别是轻功暗器高手“无情”、内功卓越的高手“铁手”、腿功惊人的“追命”和剑法一流的“冷血”

本文四大名捕由linux命令所出演

  1. 无情:ps 出演
  2. 铁手:dstat 出演
  3. 追命:top 出演
  4. 冷血:htop 出演

二、进程相关基础知识

介绍四大名捕之前先介绍一下进程相关的基础知识,话不多说,看图。 

 

三、轻功暗器高手“无情” [PS]

ps:用于显示当前进程的状态(非动态)

ps [options]:

选项有三种风格:

1、UNIX风格,必须在选项前面加“-”

2、BSD风格,选项前不能加“-”

3、GNU风格,选项前为两个“-”

常用组合之一:aux

a:所有与终端相关的进程

x:所有与终端无关的进程

u:以用户为中心组织进程状态信息显示 

 

CPU%:cpu时间占用比率

MEM%:内存占用百分比

VSZ:virtual size虚拟内存集;

RSS:Resident Size,常驻内存集;

STAT:

R:running 运行

S:interruptable sleeping 可中断睡眠

D:uninterruptable sleeping 不可中断睡眠

T:Stopped 停止

Z:zombie 僵死态

+:前台进程

l:多线程进程

N:低优先级进程

<:高优先级进程

s:session leader 进程领导者

常用组合之二:-ef

-e:显示所有进程

-f:显示完整格式的进程信息

 

 

常用组合之三:-eFH  

-F:显示完整格式的进程信息;

C: cpu utilization cpu占用百分比

PSR:运行于哪颗CPU之上

-H:以层级结构显示进程的相关信息;   

 

常用组合之四:-eo, axo

o field1, field2,...:自定义要显示的字段列表,以逗号分隔

常用的field:pid, ni, priority, psr, pcpu, stat, comm, tty, ppid, rtprio

pid:进程的pid号

ni:nice值

priority:优先级

psr:运行在那颗cpu

pcpu:cpu利用率

ppid:父进程的id号

rtprio:实时优先级

四、内功卓越的高手“铁手”[dstat]

dstat:系统资源统计命令(动态)

dstat [-afv] [options..] [delay [count]]   

 

常用选项:

-c, --cpu:显示cpu相关信息;

-C #,#,...,total:显示第一个cpu,第二个cpu或者总共的

-d, --disk:显示磁盘的相关信息

-D sda,sdb,...,tobal:显示指定硬盘设备,总空间

-g:显示page相关的速率数据;

-m:Memory的相关统计数据

-n:Interface的相关统计数据;

-p:显示process的相关统计数据;

-r:显示io请求的相关的统计数据;

-s:显示swapped的相关统计数据;

 

--tcp:显示tcp套接字

--udp:显示udp连接

--raw:显示裸套接字

--socket:套接字

--ipc:进程间通信信息 

 

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

--top-io:最占用io的进程;

--top-mem:最占用内存的进程;

 

五、腿功惊人的“追命”[top]

top:列出inux进程

top为动态显示进程

 

top命令个参数具体含义:

top - 14:58:34 up 5:28, 1 user, load average: 0.01, 0.02, 0.05

14:58:34:当前时间

up 5:28:运行时长

1 user:登录当前系统上的用户数

load average: 0.01, 0.02, 0.05:平均负载(等待运行的队列长度的负载)

Tasks: 353 total, 2 running, 351 sleeping, 0 stopped, 0 zombie

Tasks:任务

353 total:一共运行多少进程

2 running:几个处于运行

351 sleeping:多少个睡眠

0 stopped:多少个停止

0 zombie:多少个僵死

%Cpu(s): 0.0 us, 0.7 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st

%Cpu:cpu占用百分比

0.0 us:用户空间占用的百分比

0.7 sy:内核空间占用时间的百分比

0.0 ni:对nice调整占用的内存百分比

99.3 id:空闲百分比

0.0 wa(wait):等待IO完成所消耗的百分比

0.0 hi:处理硬件中断所占用的百分比

0.0 si:处理软件中断所占用的百分比

0.0 st:被偷走的百分比(虚拟化程序)

KiB Mem : 1001332 total, 681052 free, 139844 used, 180436 buff/cache

KiB Mem:内存空间占用,以KB为单位:

1001332 total:总内存空间

681052 free:剩余内存空间

139844 used:已用内存空间

180436 buff/cache:用于缓存和缓冲的内存空间

KiB Swap: 2098172 total, 2098172 free, 0 used. 698100 avail Mem

KiB Swap:swap空间占用,以KB为单位

2098172 total:总空间

2098172 free:剩余空间

0 used:已用空间

698100 avail Mem :有效swap大小

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

3077 root 20 0 146276 2256 1420 R 1.7 0.2 0:02.91 top

PID:用户pid

USER:用户名称

PR:优先级

NI:nice值

VIRT:virtual size虚拟内存集

RES:常驻内存集

SHR:共享内存空间

S:当前状态

%CPU:占据CPU百分比

%MEM:占据MEM百分比

TIME+:运行时长

COMMAND:命令

top内排序:

P:以占据CPU百分比排序

M:以占据内存百分比排序

T:累积占用CPU时间排序

首部信息:

uptime信息:l命令

# 第一行没有显示

 

tasks及cpu信息:t命令

# 可以禁用显示硬盘及cpu相关消息   

 

内存信息:m命令

# 可以将内存使用率用|||显示 或者白空格显示   

 

退出命令:q

修改刷新时间间隔:s

 

终止指定的进程:k

 

选项:

-d #:指定刷新时间间隔,默认为3秒;

-b:以批次方式显示;

-n #:显示多少批次;

六、剑法一流“冷血”[htop]

htop:交互式进程查看器

htop [-dus]   

 

# htop 是一个非常强大的工具,下面从F1到F10可以看到具体的参数信息。

# F1 :帮助信息   

 

选项:

-d #:指定延迟时间间隔

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

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

常用子命令:

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

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

t:以层级关系显示各进程状态

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

# 此处可以添加指定项到显示屏幕上面,显示方式可以是[Bar] [Text] [Graph] [LED]   

 

进程管理相关命令就介绍到这了,如果有不同意见可以慷慨提出!

责任编辑:庞桂玉 来源: Antony_ 的BLOG
相关推荐

2010-09-13 17:28:31

2010-09-28 09:11:10

2012-05-09 13:03:04

2011-04-14 10:38:58

Java编程Java

2016-12-09 09:23:50

android组件Service

2015-07-17 09:50:16

Carthage优劣比较

2009-02-25 08:34:34

Linus TorvaLinux

2011-01-11 13:47:27

Linux管理进程

2023-03-05 16:12:41

Linux进程线程

2010-08-17 09:20:28

DIV布局

2013-01-10 14:21:24

Android开发组件Activities

2020-07-16 07:00:49

容器管理考量

2011-03-21 09:01:49

CSS框架

2012-02-08 13:52:30

云计算

2012-10-09 09:30:06

Linux

2020-02-07 18:32:36

LinuxLinux内核5.6操作系统

2023-03-02 23:50:36

Linux进程管理

2009-08-28 10:47:46

Java EE容器

2009-12-02 15:06:49

Linux系统

2012-01-19 19:00:50

点赞
收藏

51CTO技术栈公众号