centos

sys.14.4 Linux进程和作业管理(htop,vmstat,pmap,glances)

 

Linux系统上的进程查看及管理工具:
pstree , ps , pgrep , pkill , pidof ;
uptime , top ;
htop , vmstat , pmap , glances ;
dstat ;
kill , killall ;
job , bg , fg , nohup , nice , renice , …;

关键词:htop, vmstat, pmap, glances;

1、htop 命令

命令说明:交互式进程查看器;
htop – interactive  process  viewer

常用选项:
-d  # :   指定延时时间间隔;
-u  USERNAME :   仅显示指定用户的进程;
-s  COLUME :   以指定字段进行排序;

htop命令不带任何选项参数打开后默认显示的界面.

 

 

 

交互式子命令:

Arrows : 通过键盘上下箭头滚动进程列表;左右箭头可以查看超过满屏显示的信息;

搜索查找:
F3   / :    根据进程名字搜索进程;
F4   \:    过滤查找指定的进程名;模糊查找,不区分大小写;
F5   t :    以层级结构显示进程列表;

显示与隐藏:
H : 显示/隐藏用户进程线程信息;默认不显示;
K : 显示/隐藏内核线程信息;默认不显示;

定位标识与解除定位:
F : 光标跟踪过程;在光标所在行按大写’F’,松开,按’空格键’,此时,光标会跳到下一行,上一行会以黄色标识字体(默认是浅蓝色);
不按’F’键,直接按空格键同样可以达到这个效果;
空格键:如上面描述;
c : 跟空格键一样,不同的是,除了标识当前进程外,其子进程也会被标识;
U : 对进程进行标识的行进行解除标识;

按字段显示与排序:
p : 小写字母’p’,显示启动进程的完整路径名;默认不显示完整路径;
u : 指定用户名显示其对应的进程信息;
P M T : 分别表示排序的字段(CPU%,MEM%,TIME)
F6 > . : 选择字段进行排序,通过上下箭头选择,然后回车;
可选的字段(PID,USER,PRIORITY,NICE,M_SIZE,M_RESIDENT,M_SHARE,STATE,PERCENT_CPU,PERCENT_MEM,TIME,Command);
I : 对上述字段进行倒序排列;默认是升序排列;

kill进程:
F9 k : 对指定进程进行’kill’操作,默认调出信号控制类型是’SIGTERM’,按回车即可;此操作有风险,除非你知道自己在做什么!!!

进程优先级:
] : 通过调低’nice’值来提高进程优先级;
[ : 通过调高’nice’值来降低进程优先级;

CPU与文件、系统调用追踪:
a :  将选定的进程绑定至某指定的CPU核心上;
l :  显示选定的进程打开的文件列表;
s :  跟踪选定的进程的系统调用;需要事先安装’strace’程序包,此程序包在’Base’仓库就有,运行此命令安装‘yum  -y  install  strace’;

设定:
F2   C  S :   setup; 这个没什么可讲的,就是配置页面最上方的左边跟右边显示信息类型及显示格式的调整而已;

帮助与退出:
F1   h :     查看htop的在线使用手册;
F10   q :   quit,退出;

2、vmstat 命令

命令说明: 报告生成虚拟内存使用状态;
vmstat – Report  virtual  memory  statistics

‘vmstat’命令不带任何选项参数,以’快照’性质显示一行信息;

[root@kouyuushinn ~]# 
[root@kouyuushinn ~]# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 2  0   2116 132200    560 727368    0    0     1     8   35   32  0  0 100  0  0

字段解释:
-----------
procs : 进程相关信息;
  r : 等待运行的进程的个数;CPU上等待运行的任务的队列长度(包括正在执行和等待CPU资源的任务个数);
  b : 处于不可中断睡眠态的进程个数;被阻塞的任务队列长度;
memory : 正在使用的虚拟内存的大小;
  swpd : 虚拟内存使用总量;
    swpd: the amount of virtual memory used.

  free : 空闲的物理内存总量;
  buffer : 用于buffer的内存总量,对块设备的读写进行缓冲;
  cache : 用于cache的内存总量,文件系统的cache;

  inact : 非活跃内存大小,即被标明可回收的内存大小;
  active : 活跃的内存大小;

swap:
  si :  从硬盘读入交换分区的内存大小;
  so :  从交换分区读入硬盘的内存大小;

     si: Amount of memory swapped in from disk (/s).
       so: Amount of memory swapped to disk (/s).

io:
  bi : 从块设备读入数据到内核的速率(kb/s);
  bo : 保存数据至块设备的速率(kb/s);

       bi: Blocks received from a block device (blocks/s).
       bo: Blocks sent to a block device (blocks/s).

sytem:
  in : interrupts , 中断速率;
  cs : context switch,上下文切换速率;
CPU:
  us : 用户空间的进程占用CPU的百分比;
  sy : 内核空间的进程占用CPU的百分比;
  id : idle , cpu空闲百分比;
  wa : wait,等待IO完成所消耗的CPU时间百分比;
  st : 被虚拟化程序偷走的CPU时间百分比;

常用选项:
vmstat   -s :     显示内存统计数据;
vmstat   2 :     表示每隔2秒刷新一次;不带任何选项参数,默认只显示一条信息(以’快照’性质);
vmstat   2   5 :     表示每隔2秒刷新一次,一共显示5次刷新;

3、pmap 命令

命令说明:显示一个进程的内存映射表;
pmap – report  memory  map  of  a  process

‘pmap’命令显示的信息是从’/proc/PID/maps’文件中提取的;

命令格式:
pmap  [options]  pid  […]

常用选项:
-x :  显示扩展信息;

pmap 1 | head -5:
-----------------
1:   /usr/lib/systemd/systemd --switched-root --system --deserialize 21
0000563731064000   1320K r-x-- systemd
00005637311af000    140K r---- systemd
00005637311d2000      4K rw--- systemd
000056373238d000    988K rw---   [ anon ]

pmap -x 1 | head -6:
--------------------
1:   /usr/lib/systemd/systemd --switched-root --system --deserialize 21
Address           Kbytes     RSS   Dirty Mode  Mapping
0000563731064000    1320     948       0 r-x-- systemd
00005637311af000     140     132     132 r---- systemd
00005637311d2000       4       4       4 rw--- systemd
000056373238d000     988     924     924 rw---   [ anon ]

4、glances 命令

命令说明: 基于curses的跨平台的系统监控工具;
glances – A  cross-platform  curses-based  system  monitoring  tool

命令格式: glances  [OPTIONS]

‘glances’不带任何选项参数,默认显示如下图(显示格式跟’htop’相似):

 

 

交互式子命令:

a  Sort processes automatically          b  Bytes or bits for network I/O      
c  Sort processes by CPU%                l  Show/hide alert logs               
m  Sort processes by MEM%                w  Delete warning alerts              
u  Sort processes by USER                x  Delete warning and critical alerts 
p  Sort processes by name                1  Global CPU or per-CPU stats        
i  Sort processes by I/O rate            I  Show/hide IP module                
t  Sort processes by TIME                D  Enable/disable Docker stats        
d  Show/hide disk I/O stats              T  View network I/O as combination    
f  Show/hide filesystem stats            U  View cumulative network I/O        
n  Show/hide network stats               F  Show filesystem free space         
s  Show/hide sensors stats               g  Generate graphs for current history
2  Show/hide left sidebar                r  Reset history                      
z  Enable/disable processes stats        h  Show/hide this help screen         
3  Enable/disable quick look plugin      q  Quit (Esc and Ctrl-C also work)    
e  Enable/disable top extended stats  
/  Enable/disable short processes name
0  Enable/disable Irix process CPU

常用选项:
-w, –webserver : run  Glances  in  web  server  mode  (bottle  needed)

第一种模式:通过WEB  UI模式查看监控信息;

Monitor local machine with the Web interface (Web UI);

[root@kouyuushinn ~]# 
[root@kouyuushinn ~]# python --version
Python 2.7.5
[root@kouyuushinn ~]# 

~]# wget https://bootstrap.pypa.io/get-pip.py
~]# python get-pip.py
~]# pip install bottle

[root@kouyuushinn ~]# glances -w
Glances web server started on http://0.0.0.0:61208/

在浏览器使用主机实际IP进行访问:192. 168. 206. 132: 61208;

 

 

 

 

第二种模式:
把’glances’显示的信息用快照性质的操作保持至’CSV’格式的文件中,可下载到Windows中进行查看;

~]# glances  –export-csv  glances2.csv

把上面的文件’glances2.csv’在Windows中,用excel格式打开,显示的是文本信息;可以使用图标的方式进行直观显示:

 

 

 

第三种模式:C/S模式
服务端: ~]#  glances   -s  -B  IPADDR
-s :    表示启用服务端;
-B  IPADDR  :   指定服务端的本机IP;

客户端: ~]#  glances   -c   IPADDR
-c   IPADDR  :   用’-c’选项指定服务端的IP地址;

Leave a Reply

Your email address will not be published. Required fields are marked *