一、Linux进程相关知识点: 
 
1)进程的概念:进程是运行中的程序。 
 
2)进程的分类: 
 
1、按照进程状态: 
 
运行态:running 
睡眠态:sleeping 
可中断:Interruptable 
不可中断:Uninterruptable 
停止态:stopped 
僵死态:zombie 
2、按照进程的处理方式: 
 
(1)批处理进程 
(2)交互式进程 
(3)实时进程 
3、按照操作的密集程度: 
 
CPU密集型:cpu-bound 进程在运行时,占用CPU时间较多的进程。 
IO密集型:io-bound   进程在运行时,占用I/O时间较多的进程。 
 
注:通常情况下,I/O密集型的优先级要高于CPU密集型。 
 
3)按照进程优先级: (1)实时优先级:0-99,数字越大优先级越高 (2)静态优先级:100-139,数字越小优先级越高 
 ------注:可以使用nice来调整,nice值的取值范围是[-20,19],分别对应100到139;启动进程时其默认nice值为0; 其默认优先级为120. 
 (3)动态优先级:内核维护,由动态调整; 
  
二 、进程管理工具: 
 
1)进程管理工具 htop: 
htop命令是top命令的升级版,无论是在功能上还是在界面显示上,都比top命令更胜一筹。 
 
 输入命令#htop进入使用界面: 
 
   上面左上角显示CPU、内存、交换区的使用情况,右边显示任务、负载、开机时间,下面就是进程实时状况。  下面是 F1~F10 的功能和对应的字母快捷键 
| F1 | 查看htop的使用说明 |  | F2 | htop的设定 |  | F3 | 搜索进程 |  | F4 | 增量进程过滤器 |  | F5 | 显示树形结构 |  | F6 | 选择排序方式 |  | F7 | 可减少nice值,提高对应进程的优先级 |  | F8 | 可增加nice值,降低对应进程的优先级 |  | F9 | 可对进程传递信号 |  | F10 | 结束htop |  
  
支持鼠标功能,鼠标点击Help或者按F1 显示自带帮助  
鼠标点击Setup或者按下F2 之后进入htop 设定的页面 选项: 
-d #: 刷新时间间隔 
-u USERNAME: 仅显示指定用户的进程 
-s COLUMN: 以指定的字段进行排序 
 
交互式命令: 
u: 仅显示指定用户的进程 
s: 跟踪选定进程发起的系统调用 
l: 跟踪选定进程打开的文件 
t: 显示进程树 
a: 设定cpu亲缘性(将选定的进程绑定在某CPU上) 
 
2)进程管理工具 glances:  
一款强大的系统监控工具:能实时监控像cpu,meomory,load,swap,Network,mount,disk等信息。 
 
输入命令#glances进入操作界面 
 
 
glances 工作界面的说明 :  
 
在图上部是 CPU 、Load(负载)、Mem(内存使用)、 Swap(交换分区)的使用情况 
 
glances [-bdehmnrsvyz1] [-B bind] [-c server] [-C conffile] [-p port] [-P password] [--password] [-t refresh] [-f file] [-o output] 
选项: 
-b: 以Byte为单位显示网卡数据速率; 
-d: 关闭磁盘I/O模块 
-f /path/to/somewhere: 设置输出文件的位置及其格式; 
-o {HTML|CSV} 
-m: 禁用mount模块 
-n: 禁用网络模块 
-t #: 指定刷新时间间隔 
-1:每个CPU的数据单独显示 
 
交互式命令:有许多交互式命令来定义glances的显示信息,以及排序方式等; 
h: 显示帮助 
C/S模式下运行glances命令: 
  服务模式: 
     glances -s -B IPADDR 
   IPADDR:自己监听的本机地址 
 
客户端模式: 
 
glances -c IPADDR 
IPADDR: 远程服务器监听的地址 
 
 
3)进程管理工具 dstat: 支持插件 
输入#dstat进入操作界面 
 
 
dstat [-afv] [options..] [delay [count]] 
 
选项: 
-c :        显示CPU统计数据,如有多个CPU汇总统计 
-d:         显示disk统计数据,如有多块磁盘则汇总统计 -g,--page:  显示page信息 -i           显示中断的统计数据 -l           显示系统的负载信息 -m           显示内存的统计信息 -p           显示进程队列 -r, --io     统计I/O请求,包括读写请求 -s, --swap   显示swap情况 -t, --time   显示统计时时间,对分析历史数据非常有用 -y, --sys    统计系统信息,包括中断、上下文切换  
--aio:       显示异步io统计数据 --ipc:       ipc相关的信息 --raw:       raw socket --tcp:       tcp socket --udp:       udp socket --socket:    raw, tcp, udp --unix:      unix sock  
--top-cpu:  显示最占用CPU的进程 --top-bio:  显示最占用block IO的进程 --top-mem:   显示最耗费内存的进程 --top-io:   最占用IO的进程  
 
 
 |