`

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

阅读更多
如果想监控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              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
....
.....
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      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的统计:
    * ss: Display Linux TCP / UDP Network and Socket Information
    * Get Detailed Information About Particular IP address Connections Using netstat Command

分享到:
评论

相关推荐

    Linux系统管理员指南

    《Linux系统管理员指南》是一本面向想要深入了解和掌握Linux操作系统管理技能的读者的专业教程。Linux作为一款开源且功能强大的操作系统,被...同时,持续学习和探索新的工具和技术是成为优秀Linux系统管理员的关键。

    Linux系统监控工具

    ### Linux系统监控工具详解 #### 一、引言 在现代IT环境中,Linux作为服务器操作系统的重要组成部分,其稳定性和性能优化对于确保业务连续性至关重要。为了有效地管理和优化Linux系统的性能,掌握一系列系统监控...

    Linux系统管理员培训视频教程

    Linux系统管理员培训视频教程是一套全面讲解Linux操作系统管理和运维的教育资源,主要针对Red Hat公司的Linux系统。这套教程共40课时,旨在帮助学习者掌握Linux的基础知识以及高级技巧,以便在实际工作中有效地管理...

    Linux系统监控工具之top详解

    top 是 Linux 系统中最常用的监控工具之一,可以动态观察系统进程状况,方便系统管理员实时了解系统资源现状。通过使用 top,可以快速识别系统中资源消耗多的任务,并对其进行调整和优化。 1. 相关设定 top 提供了...

    linux系统监控工具

    nmon是一款非常实用的Linux系统监控工具,它不仅能够帮助系统管理员实时监控系统资源的使用情况,还能够通过数据文件的形式记录监控结果,便于后续分析和调试。通过本文的介绍,相信读者已经对nmon有了较为全面的...

    Linux系统管理员工具包监视磁盘空间和使用情况.doc

    《Linux系统管理员工具包监视磁盘空间和使用情况》这篇文档是针对Linux系统管理员的一份宝贵的资源,旨在帮助他们有效地监控和管理系统的磁盘空间。监控磁盘空间是Unix系统管理的重要部分,因为文件系统的健康状况...

    EAS系统管理员_监控工具.pptx

    【EAS系统管理员_监控工具】的PPT文档主要涵盖了三种常用的系统监控工具:Cacti、nmon和Oracle Enterprise Manager(OEM),这些工具在财务管理类应用中扮演着重要的角色,帮助系统管理员有效地监控和管理IT基础设施...

    Linux系统管理员手册.zip

    以上只是Linux系统管理员可能遇到的部分知识点,实际工作中的挑战和技能需求可能会更广泛,包括但不限于硬件管理、性能调优、故障诊断、备份恢复以及与各种开源工具和技术的集成。熟练掌握这些知识,将使你成为一位...

    用Python脚本实现对Linux服务器的监控

    目前Linux下有一些使用Python语言编写的Linux系统监控工具比如inotify-sync(文件系统安全监控软件)、glances(资源监控工具)在实际工作中,Linux系统管理员可以根据自己使用的服务器的具体情况编写一下简单实用的...

    LINUX系统管理员师资培训

    【LINUX系统管理员师资培训】 在信息技术领域,Linux操作系统因其开源、稳定和高效而备受推崇。对于想要成为或已经担任Linux系统管理员的人来说,深入理解和掌握Linux的各个方面至关重要。"LINUX系统管理员师资培训...

    实时监控文件系统:Linux系统监控技术详解

    文件系统监控是Linux系统管理中的一项重要任务。通过使用inotify接口、auditd服务、第三方工具以及编程技术,可以实现高效的文件系统监控。在实现监控时,需要注意性能优化和安全性。希望本文的详细介绍能帮助你更好...

    Linux系统管理员手册

    《Linux系统管理员手册》是为Linux初学者提供的一份详尽指南,涵盖了操作系统的基本操作、命令行使用以及系统管理的核心概念。这份手册旨在帮助新手快速掌握Linux环境下的工作技巧,从而能够有效地管理和维护Linux...

    管理员必备的20个Linux系统监控工具1

    "管理员必备的20个Linux系统监控工具" 作为一名IT专业人士,我将对Linux系统监控工具进行详细的解释和分析。本文将介绍20个基本的Linux系统监控工具,这些工具可以帮助管理员找到系统性能瓶颈,包括硬盘瓶颈、CPU及...

    linux系统管理员手册

    **Linux系统管理员手册** 在信息技术领域,Linux操作系统以其开源、免费和高度可定制性而备受赞誉。本手册专为那些想要深入理解并管理Linux系统的初学者设计,旨在提供全面的Linux基础概念、命令行操作以及系统管理...

Global site tag (gtag.js) - Google Analytics