Linux系统性能监控工具

Linux 系统性能监控


1 htop

[root@localhost ~]# htop
  1  [||                                       2.1%]     Tasks: 51, 73 thr; 1 running
  2  [|                                        0.3%]     Load average: 0.00 0.02 0.00 
  Mem[||||||||||||||||||||||||||||||||||||133/474MB]     Uptime: 08:38:50
  Swp[                                     0/2047MB]
    PID USER      PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command
   4607 root       20   0  109M  1780  1232 R  0.0  0.4  0:00.26 htop
   4556 root       20   0  109M  1716  1232 S  1.0  0.4  0:14.89 htop
      1 root   20   0 19356  1612  1304 S  0.0  0.3  0:02.04 /sbin/init
    447 root   16  -4 11232  1344   332 S  0.0  0.3  0:00.59 /sbin/udevd -d
   1338 root   16  -4 27596   848   592 S  0.0  0.2  0:00.21 auditd
   1337 root   16  -4 27596   848   592 S  0.0  0.2  0:00.38 auditd
   1368 root   20   0  243M  1680  1092 S  0.0  0.3  0:00.11 /sbin/rsyslogd -i /var/run/syslogd.pid -c 5
   1369 root   20   0  243M  1680  1092 S  0.0  0.3  0:00.16 /sbin/rsyslogd -i /var/run/syslogd.pid -c 5
   1370 root   20   0  243M  1680  1092 S  0.0  0.3  0:00.08 /sbin/rsyslogd -i /var/run/syslogd.pid -c 5


    交互式命令

           u:显示指定用户的进程信息

                按u,再选择你要看的用户的进程

           s:显示进程的系统调用

                选中进程,再按s

           l:显示进程打开的文件

           t:以层级格式显示进程信息

           a:设定进程绑定到某个CPU,即只在这个CPU上运行该程序

                选中进程,再按a,显示如下图[x] 1和[x]2 有两个核心,按上下箭头选择

[root@localhost ~]# htop
  1  [|||                                      3.9%]     Tasks: 52, 73 thr; 1 running
  2  [|                                        0.6%]     Load average: 0.00 0.00 0.00 
  Mem[||||||||||||||||||||||||||||||||||||133/474MB]     Uptime: 08:46:20
  Swp[                                     0/2047MB]
Use CPUs:          PID USER      PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command
[x] 1             4556 root       20   0  109M  1728  1236 S  2.0  0.4  0:23.76 htop
[x] 2         4647 root       20   0  109M  1792  1236 R  1.0  0.4  0:00.23 htop
                  4579 root  20   0   98M  4444  3428 S  1.0  0.9  0:00.51 sshd: root@pts/0
                     1 root       20   0 19356  1612  1304 S  0.0  0.3  0:02.04 /sbin/init
                   447 root       16  -4 11232  1344   332 S  0.0  0.3  0:00.59 /sbin/udevd -d
                  1338 root       16  -4 27596   848   592 S  0.0  0.2  0:00.21 auditd
                  1337 root       16  -4 27596   848   592 S  0.0  0.2  0:00.39 auditd
                  1368 root       20   0  243M  1680  1092 S  0.0  0.3  0:00.11 /sbin/rsyslogd -i /var/run/sysl
                  1369 root       20   0  243M  1680  1092 S  0.0  0.3  0:00.16 /sbin/rsyslogd -i /var/run/sysl
                  1370 root       20   0  243M  1680  1092 S  0.0  0.3  0:00.08 /sbin/rsyslogd -i /var/run/sysl
                  1367 root       20   0  243M  1680  1092 S  0.0  0.3  0:00.39 /sbin/rsyslogd -i /var/run/sysl
                  1397 root       20   0 18240   704   456 S  0.0  0.1  0:12.71 irqbalance --pid=/var/run/irqba



    命令行选项

           -d: 延时时间,即多长时间刷新一次

           -u:显示指定用户的进程信息

           -s:根据指定的字段进行排序

                例如上图显示的PID,USER,PRI等字段

2 glances

[root@localhost ~]# glances
             localhost.localdomain (CentOS 6.6 64bit / Linux 2.6.32-504.el6.x86_64)             Uptime: 8:49:00
CPU       3.0%                   Load   2-core   Mem    30.3%  active:    150M   Swap    0.0%
user:     1.1%  nice:     0.0%   1 min:   0.44   total:  475M  inactive:  131M   total: 2.00G
system:   1.9%  iowait:   0.0%   5 min:   0.13   used:   144M  buffers:  44.3M   used:      0
idle:    97.0%  irq:      0.0%   15 min:  0.04   free:   331M  cached:    203M   free:  2.00G
Network    Rx/s    Tx/s   Tasks  146 (219 thr),  1 run, 145 slp,  0 oth  sorted automatically
eth1        2Kb     2Kb
lo           0b      0b    VIRT   RES  CPU%  MEM%   PID USER        NI S    TIME+ NAME
                           206M   12M   3.5   2.5  4660 root         0 R  0:01.30 glances
Disk I/O   In/s   Out/s    110M    2M   2.2   0.4  4556 root         0 S  0:27.53 htop
dm-0        17K       0       0     0   1.0   0.0  1042 root         0 S  0:00.67 flush-253:3
dm-1          0       0       0     0   0.3   0.0    12 root         0 S  0:31.78 events/1
dm-2          0       0     19M    2M   0.0   0.3     1 root         0 S  0:02.13 /sbin/init
dm-3        12K      1K       0     0   0.0   0.0     2 root         0 S  0:00.80 kthreadd



   -b:以Byte/s为单位显示网卡设备数据交换速率;上图的eth1显示的数据

   -d:关闭磁盘I/O功能模块;上图的Disk I/O 显示的

   -f /PATH/TO/SOMEFILE:设置输出文件的位置

   -o {HTML|CSV}:输出文件的保存格式

   -m:关闭mount功能模块

   -n:关闭网络功能模块

   -r:关能模块闭进程列表功

   -t #: 指定延迟时长,默认为3秒

   -1单独显示每颗CPU相关负载数据信息

        针对多核心的CPU


glances支持远程模式:

    即可以以C/S模式工作:

        Server: 以监听模式启动glances;

        Client: 以远程模式启动glances,远程连入指定服务器,并Server上的相关性能数据;

        

     服务模式:

      glances -s -B IPADDR

        -B: 用于指明监听的本地地址

        

     客户端模式:

      glances -c IPADDR

        -c: 用于连入的服务器的地址

 

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

[root@localhost ~]# dstat
----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--
usr sys idl wai hiq siq| read  writ| recv  send|  in   out | int   csw 
  0   0 100   0   0   0|8021B 4169B|   0     0 |   0     0 |  27    22 
  0   1  98   0   0   0|   0     0 | 424B  826B|   0     0 |  62    33 
  0   0 100   0   0   0|   0   132k| 152B  346B|   0     0 |  26    26 
  1   1  98   0   0   0|   0     0 | 396B  346B|   0     0 |  59    36 
  1   1  99   0   0   0|   0    56k| 396B  346B|   0     0 |  83   101 
  0   1  98   0   0   0|   0     0 | 212B  346B|   0     0 |  59    27



      

    -c: 显示cpu性能指标相关的统计数据

    -d: 显示disk相关的速率数据

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

    -i: 显示interrupt相关的速率数据

    上面四项对应于上图四列信息


    -l: 显示load average相关的统计数据

[root@localhost ~]# dstat -l
---load-avg---
 1m   5m  15m 
0.04 0.22 0.13
0.04 0.22 0.13



    -m: 显示memory相关的统计数据

[root@localhost ~]# dstat -m
------memory-usage-----
 used  buff  cach  free
 146M 23.5M  279M 25.9M
 146M 23.5M  279M 25.9M



    -n: 显示网络收发数据的速率

    -p: 显示进程相关的统计数据

[root@localhost ~]# dstat -p
---procs---
run blk new
  0   0 0.3
  0   0   0
  0   0   0



    -r: io请求的速率;

[root@localhost ~]# dstat -r
--io/total-
 read  writ
0.68  0.49 
   0     0



    -s: 显示swap的相关数据

[root@localhost ~]# dstat -s
----swap---
 used  free
   0  2048M



    -y: 显示系统相关的数据,包括中断和进程切换

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

[root@localhost ~]# dstat --top-cpu
-most-expensive-
  cpu process   
htop         0.1
htop         1.5


    --top-bio:显示最消耗block io的进程

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

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

    --ipc: 显示进程间通信相关的速率数据--ipc: 显示进程间通信相关的速率数据

[root@localhost ~]# dstat --ipc
--sysv-ipc-
msg sem shm
  0   4   1
  0   4   1



    --raw: 显示raw套接的相关的数据

    --tcp: 显示tcp套接字的相关数据

    --udp: 显示udp套接字的相关数据

    --unix: 显示unix sock接口相关的统计数据

    --socket: 显示套接字统计信息

    -a: -cdngy


你可能感兴趣的:(linux,服务器,程序,监控)