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

标签: linux 系统 管理员 | 发表时间:2012-08-06 13:19 | 作者:flanet
出处:http://blog.csdn.net

如果想监控Linux服务器的性能,请试一下内置的shell命令和一些附加的工具。很多Linux发行版都有“成吨”的监控工具。
这些工具提供了可度量信息,用于观察系统的活动,找到导致系统性能的可疑之处。我们下面讨论的工具是一些最基本的
命令,可以用来系统的分析和服务的调试:
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

输出:

引用
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

输出:

引用
17:58:47 up 5 days, 20:28,  2 users,  load average: 0.36, 0.26, 0.24
USER     TTY      FROM              [email protected]   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
….
…..
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

打开额外的完全模式(显示传递给进程的命令行参数)

引用
# 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

以用户自定义的方式显示:

引用
# 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平均负载,磁盘活动

引用
# iostat

输出:

引用
Linux 2.6.18-128.1.14.el5 (www03.nixcraft.in) 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 (www03.nixcraft.in) 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

九、mpstat 多处理器的使用:

引用
# mpstat -P ALL

输出:

引用
Linux 2.6.18-128.1.14.el5 (www03.nixcraft.in) 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

十、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

最后一行很重要:
    * mapped: 933712K 文件内存映像大小
    * writeable/private: 4304K 私有地址空间大小
    * shared: 768000K 进程共享地址空间大小
十一and十二、netstat and ss 网络统计
netstat显示网络连接,路由表,interface 统计,masquerade 连接,多播成员关系。
ss被用来dump socket的统计:


作者:flanet 发表于2012-8-6 13:19:25 原文链接
阅读:0 评论:0 查看评论

相关 [linux 系统 管理员] 推荐:

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

- - CSDN博客推荐文章
如果想监控Linux服务器的性能,请试一下内置的shell命令和一些附加的工具. 很多Linux发行版都有“成吨”的监控工具. 这些工具提供了可度量信息,用于观察系统的活动,找到导致系统性能的可疑之处. 我们下面讨论的工具是一些最基本的. 命令,可以用来系统的分析和服务的调试:. 3、找出CPU、内存瓶颈.

新时代的 Linux 系统管理员都需要哪些技能?

- - 外刊IT评论
你上次编译内核是多久以前的事儿了. 新生代 Linux 管理员的答案很简单:我压根儿没编译过内核. 我也从没编译过内核,当然自己弄着玩儿的不算. 我实在想不到我为啥需要自定义内核,所以我就用我的“开箱即用”内核了. Linux 老鸟们可能会笑话我们,但你不能否认:随着越来越多的企业采用 Linux,新生代的 Linux 管理员虽然生就一身相当不错的技术实力,却因缺乏编译内核这类简单却基础的技能而和一个优秀的 Linux 管理员之间存在差距.

Linux系统监控

- - CSDN博客系统运维推荐文章
查看所有的进程和端口使用情况:. 查看nginx并发(连接数)进程数:. 查看当网络连接状态中,已建立连接的数量:. 查看系统tcp连接中各个状态的连接数. 输出每个ip的连接数,以及总的各个状态的连接数. df -hl 查看磁盘使用情况 . df -hl 查看磁盘剩余空间. df -h 查看每个根路径的分区大小.

Linux 开源车载系统 Automotive Grade Linux

- - 开源中国社区最新新闻
Google、苹果以及微软相继宣布为汽车中控台推出车载系统,近日Linux基金会宣布推出可定制,开源的车载系统平台 Automotive Grade Linux. 旨在成为未来车载系统开源标准平台. 目前早期版本的AGL已提供下载. Automotive Grade Linux系统支持的汽车厂商以及品牌有捷豹、路虎、本田、日产等,同时也支持ATS、富士通、哈曼、英特尔、LG、NEC、松下三星等科技企业的车内产品.

11 条Linux/Unix 管理员常用命令

- - 笨兔兔
1-保存man-page 为pdf文件. 3-Stamp a text line on top of the pdf pages to quickly add some remark, comment, stamp text, … on top of (each of) the pages of the input pdf file.

理解Linux系统负荷

- Adam - 阮一峰的网络日志
如果你的电脑很慢,你或许想查看一下,它的工作量是否太大了. 在Linux系统中,我们一般使用uptime命令查看(w命令和top命令也行). (另外,它们在苹果公司的Mac电脑上也适用. 你在终端窗口键入uptime,系统会返回一行信息. 这行信息的后半部分,显示"load average",它的意思是"系统的平均负荷",里面有三个数字,我们可以从中判断系统负荷是大还是小.

Linux系统启动流程

- - CSDN博客推荐文章
Linux系统启动流程(以CentOS为例):. 加载BIOS,获得主机的硬件信息并进行开机自检,然后根据设置取得第一个可启动的设备(如硬盘). 执行第一个可启动设备内MBR(主引导分区)的Boot Loader(如grub). 根据Boot Loader的设置加载kernel和initrd(虚拟文件系统),kernel开始检测硬件并加载驱动程序.

linux 系统性能指标

- - 非技术 - ITeye博客
近段时间,再忙着找实习,经常被问到的,关于linux系统性能的指标,比如对于一台linux机器来说,怎么监控它的CPU,内存,负载等情况;怎样算高负载,具体的依据是什么. 等等这类问题,下面就好好总结一下这方面知识吧~. 由于能力有限,可能总结的不是很全面,不是很正确,有错漏的,欢迎大家帮忙指出,谢谢.

“Linux”不等同于Linux内核:构建Linux系统的8个软件包

- - 极客范 - GeekFan.net
Linux发行版并不仅仅是Linux内核. 所有的Linux发行版都包含了除内核之外的一些必要的软件包,比如Grub引导程序、Bash shell、GNU shell工具软件、守护进程、X.org图形服务器和桌面环境等等. 所有这些不同的程序均由相互独立的开发小组开发. 这些程序被Linux发行版集成到一起从而形成一套完整的“Linux”操作系统.