Linux系统管理员应该知道监控工具



Linux系统管理员应该知道监控工具
 
如果想监控Linux服务器的性能,请试一下内置的shell命令和一些附加的工具。很多Linux发行版都有“成吨”的监控工具。
这些工具提供了可度量信息,用于观察系统的活动,找到导致系统性能的可疑之处。我们下面讨论的工具是一些最基本的  www.2cto.com  
命令,可以用来系统的分析和服务的调试:
1、找出系统瓶颈
2、找出磁盘瓶颈
3、找出CPU、内存瓶颈
4、网络瓶颈
一、top 进程活动命令
top提供了动态实时查看运行系统的状态,比如实际进程活动。默认,显示最CPU密集的任务,每5秒跟新一次。
top提供了一些最经常被使用的键:
Key            Usage
t 关闭或显示概况信息
m 关闭或显示内存信息
A 排序显示消费各种资源最高的进程,可以快速标示performance-hungry的进程
f 进入一个top的交互式配置界面
o 可以让你交互式的选择top的顺序
r Issues renice命令
k Issues kill命令
z 打开或者关闭颜色
二、vmstat 系统活动,硬件和系统信息
vmstat命令报告进程、内存、页面、阻塞IO,traps和cpu的活动
 
引用
# vmstat 3
输出:
  www.2cto.com  
引用
procs ———–memory———- —swap– —–io—- –system– —–cpu——
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
0  0      0 2540988 522188 5130400    0    0     2    32    4    2  4  1 96  0  0
1  0      0 2540988 522188 5130400    0    0     0   720 1199  665  1  0 99  0  0
0  0      0 2540956 522188 5130400    0    0     0     0 1151 1569  4  1 95  0  0
0  0      0 2540956 522188 5130500    0    0     0     6 1117  439  1  0 99  0  0
0  0      0 2540940 522188 5130512    0    0     0   536 1189  932  1  0 98  0  0
0  0      0 2538444 522188 5130588    0    0     0     0 1187 1417  4  1 96  0  0
0  0      0 2490060 522188 5130640    0    0     0    18 1253 1123  5  1 94  0  0
显示内存:
 
引用
# vmstat -m
获得活动/不活动的内存页信息:
 
引用
# vmstat -a
三、w 查找谁已经登录系统以及他们正在做什么
w 命令显示用户当前的信息,以及他们的进程:
 
引用
# w fuliang
输出:
  www.2cto.com  
引用
17:58:47 up 5 days, 20:28,  2 users,  load average: 0.36, 0.26, 0.24
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    10.1.3.145       14:55    5.00s  0.04s  0.02s vim /etc/resolv.conf
root     pts/1    10.1.3.145       17:43    0.00s  0.03s  0.00s w
四、uptime 查看系统运行了多长时间
uptime命令查看服务器当前时间、运行时间、多少个用户已经登录,以及系统在过去1,5,15分钟的平均负载。
 
引用
# uptime
输出:
 
引用
18:02:41 up 41 days, 23:42,  1 user,  load average: 0.00, 0.00, 0.00
五、ps 显示进程:
ps命令报告当前进程的信息,选择所有的进程,使用-A或者-e选项
 
引用
# ps -A
输出:
 
引用
  PID TTY          TIME CMD
    1 ?        00:00:02 init
    2 ?        00:00:02 migration/0
    3 ?        00:00:01 ksoftirqd/0
    4 ?        00:00:00 watchdog/0
    5 ?        00:00:00 migration/1
    6 ?        00:00:15 ksoftirqd/1
….  www.2cto.com  
…..
4881 ?        00:53:28 java
4885 tty1     00:00:00 mingetty
4886 tty2     00:00:00 mingetty
4887 tty3     00:00:00 mingetty
4888 tty4     00:00:00 mingetty
4891 tty5     00:00:00 mingetty
4892 tty6     00:00:00 mingetty
4893 ttyS1    00:00:00 agetty
12853 ?        00:00:00 cifsoplockd
12854 ?        00:00:00 cifsdnotifyd
14231 ?        00:10:34 lighttpd
14232 ?        00:00:00 php-cgi
54981 pts/0    00:00:00 vim
55465 ?        00:00:00 php-cgi
55546 ?        00:00:00 bind9-snmp-stat
55704 pts/1    00:00:00 ps
显示长格式:
 
引用
#ps -Al
打开额外的完全模式(显示传递给进程的命令行参数)
  www.2cto.com  
引用
# ps -AlF
查看线程:
 
引用
#ps -AlFH
在进程后显示线程
 
引用
#ps -AlLm
显示所有进程:
 
引用
ps ax
ps aux
打印进程数
 
引用
# ps -ejH
# ps axjf
# pstree
打印安全信息:
 
引用
# ps -eo euser,ruser,suser,fuser,f,comm,label
# ps axZ
# ps -eM
看一个用户的所有进程:
 
引用
# ps -U fuliang -u fuliang u
以用户自定义的方式显示:
  www.2cto.com  
引用
# ps -eo pid,tid,class,rtprio
,ni,pri,psr,pcpu,stat,wchan:14,comm
# ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
# ps -eopid,tt,user,fname,tmout,f,wchan
查看进程的id:
 
引用
# ps -C lighttpd -o pid=
# pgrep lighttpd
查看进程名称:
 
引用
# ps -p 55988 -0 comm=
查找top 10的内存消耗的进程:
 
引用
# ps -auxf | sort -nr -k 4 | head -10
查找top 10的内存消耗的进程:
 
引用
# ps -auxf | sort -nr -k 3 | head -10
六、free 查看内存使用:
 
引用
# free
输出:
 
引用
            total       used       free     shared    buffers     cached
Mem:      12302896    9739664    2563232          0     523124    5154740
-/+ buffers/cache:    4061800    8241096
Swap:      1052248          0    1052248
七、iostat cup平均负载,磁盘活动
  www.2cto.com  
引用
# iostat
输出:
 
引用
Linux 2.6.18-128.1.14.el5 () 06/26/2009
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           3.50    0.09    0.51    0.03    0.00   95.86
 
Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda              22.04        31.88       512.03   16193351  260102868
sda1              0.00         0.00         0.00       2166        180
sda2             22.04        31.87       512.03   16189010  260102688
sda3              0.00         0.00         0.00       1615          0
 
八、sar 收集报告系统活动:
sar命令可以被用来收集、报告、保存系统活动信息,
查看网络计数:
 
引用
# sar -n DEV | more
查看使用的real time
 
引用
# sar 4 5
输出:
 
引用
Linux 2.6.18-128.1.14.el5 () 06/26/2009
06:45:12 PM       CPU     %user     %nice   %system   %iowait    %steal     %idle
06:45:16 PM       all      2.00      0.00      0.22      0.00      0.00     97.78
06:45:20 PM       all      2.07      0.00      0.38      0.03      0.00     97.52
06:45:24 PM       all      0.94      0.00      0.28      0.00      0.00     98.78
06:45:28 PM       all      1.56      0.00      0.22      0.00      0.00     98.22
06:45:32 PM       all      3.53      0.00      0.25      0.03      0.00     96.19
Average:          all      2.02      0.00      0.27      0.01      0.00     97.70
  www.2cto.com  
九、mpstat 多处理器的使用:
 
引用
# mpstat -P ALL
输出:
 
引用
Linux 2.6.18-128.1.14.el5 () 06/26/2009
06:48:11 PM  CPU   %user   %nice    %sys %iowait    %irq   %soft  %steal   %idle    intr/s
06:48:11 PM  all    3.50    0.09    0.34    0.03    0.01    0.17    0.00   95.86   1218.04
06:48:11 PM    0    3.44    0.08    0.31    0.02    0.00    0.12    0.00   96.04   1000.31
06:48:11 PM    1    3.10    0.08    0.32    0.09    0.02    0.11    0.00   96.28     34.93
06:48:11 PM    2    4.16    0.11    0.36    0.02    0.00    0.11    0.00   95.25      0.00
06:48:11 PM    3    3.77    0.11    0.38    0.03    0.01    0.24    0.00   95.46     44.80
06:48:11 PM    4    2.96    0.07    0.29    0.04    0.02    0.10    0.00   96.52     25.91
06:48:11 PM    5    3.26    0.08    0.28    0.03    0.01    0.10    0.00   96.23     14.98
06:48:11 PM    6    4.00    0.10    0.34    0.01    0.00    0.13    0.00   95.42  &
nbsp;   3.75
06:48:11 PM    7    3.30    0.11    0.39    0.03    0.01    0.46    0.00   95.69     76.89
  www.2cto.com  
十、pmap 进程内存使用:
命令pmap报告内存的映像,使用它来查找内存瓶颈:
 
引用
# pmap -d PID
输出:
 
引用
47394:   /usr/bin/php-cgi
Address           Kbytes Mode  Offset           Device    Mapping
0000000000400000    2584 r-x– 0000000000000000 008:00002 php-cgi
0000000000886000     140 rw— 0000000000286000 008:00002 php-cgi
00000000008a9000      52 rw— 00000000008a9000 000:00000   [ anon ]
0000000000aa8000      76 rw— 00000000002a8000 008:00002 php-cgi
000000000f678000    1980 rw— 000000000f678000 000:00000   [ anon ]
000000314a600000     112 r-x– 0000000000000000 008:00002 ld-2.5.so
000000314a81b000       4 r—- 000000000001b000 008:00002 ld-2.5.so
000000314a81c000       4 rw— 000000000001c000 008:00002 ld-2.5.so
000000314aa00000    1328 r-x– 0000000000000000 008:00002 libc-2.5.so
000000314ab4c000    2048 —– 000000000014c000 008:00002 libc-2.5.so
…..
……
..
00002af8d48fd000       4 rw— 0000000000006000 008:00002 xsl.so
00002af8d490c000      40 r-x– 0000000000000000 008:00002 libnss_files-2.5.so
00002af8d4916000    2044 —– 000000000000a000 008:00002 libnss_files-2.5.so
00002af8d4b15000       4 r—- 0000000000009000 008:00002 libnss_files-2.5.so
00002af8d4b16000       4 rw— 000000000000a000 008:00002 libnss_files-2.5.so
00002af8d4b17000  768000 rw-s- 0000000000000000 000:00009 zero (deleted)
00007fffc95fe000      84 rw— 00007ffffffea000 000:00000   [ stack ]
ffffffffff600000    8192 —– 0000000000000000 000:00000   [ anon ]
mapped: 933712K    writeable/private: 4304K    shared: 768000K
最后一行很重要:  www.2cto.com  
    * mapped: 933712K 文件内存映像大小
    * writeable/private: 4304K 私有地址空间大小
    * shared: 768000K 进程共享地址空间大小
十一and十二、netstat and ss 网络统计
netstat显示网络连接,路由表,interface 统计,masquerade 连接,多播成员关系。
ss被用来dump socket的统计:
 
 
作者 flanet

相关内容

    暂无相关文章