`
feelar
  • 浏览: 5465 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

16个必备Linux服务器监控命令

 
阅读更多

    想不想知道你的服务器到底在干什么?那么你要知道本文介绍的这些基本命令。一旦你熟悉掌握了这些命令,就为成为专业的 Linux系统管理员打下了基础。

    你可以通过图形化用户界面(GUI)程序来获取这些外壳命令提供的大量信息,具体取决于使用哪一种Linux发行版。比如说,SUSE Linux就有一款出色的、图形化配置和管理工具YaST,KDE的KDE System Guard同样很出色。

    不过,Linux管理员要明白的一个常理是:只有绝对必要时,才应该在服务器上运行GUI.那是由于,Linux GUI耗用系统资源,而这些资源原本可以更合理地用在其他地方。所以,尽管使用GUI程序很适合对服务器健康状况做一个基本的检查,但是如果你想知道到底发生了什么,请关闭GUI,开始从Linux命令外壳使用这些工具。

    这还意味着,只要在需要时,你才应该在服务器上开启GUI;不用的时候,就及时关掉。为了确保性能最佳,Linux服务器应该在运行级别(runlevel)3下运行,这个运行级别完全支持网络和多个用户,但是在机器启动时,又不开启GUI.如果你果真需要图形化桌面,总是可以从外壳提示符下运行startx,获得图形化桌面。

    如果你的服务器启动后进入到图形化桌面,就需要更改这种情况。为此,进入到终端窗口,使用su命令切换到root用户,然后用你常用的编辑器打开/etc/inittab文件。

    一旦进入到文件里面,找到initdefault这一行,将id:5:initdefault:改为id:3:initdefault:。

    要是没有/etc/inittab文件,就创建一个,并添加id:3这一行。保存后退出。下次你启动进入服务器时,它会启动进入到运行级别3.如果你不想在进行这种更改后重启,也可以用命令init 3,立即设置服务器的运行级别。

    一旦你的服务器在init 3下运行,就可以开始使用下列外壳程序,看看你的服务器里面出现了什么情况。

    iostat

    iostat 命令详细地显示了存储子系统方面的情况。你通常用iostat来监控存储子系统总体上运行状况如何,并且在用户注意到服务器运行缓慢之前提早发现输入/输出缓慢的问题。相信我,你应该在用户发现这些问题之前先发现这些问题!

    meminfo和free

    meminfo为你详细显示了内存方面的情况。你通常可以使用另一个程序,比如cat和grep,来访问meminfo的信息。比如说,cat /proc/meminfo为你详细显示了服务器的内存在任何一个时间的使用情况。

    如果想快速了解内存的概要信息,可以使用free命令。简而言之,free为你提供了概要信息;meminfo为你提供了详细信息。

    mpsta

    mpstat命令可以报告多处理器服务器上每个可用处理器的活动情况。如今,由于多核处理器,这个命令适用于几乎所有服务器。mpstat还可以报告所有服务器上的处理器的平均活动情况。它让你能够按照系统或按照处理器来显示总的处理器统计信息。这个概要信息可以在潜在的应用程序问题惹毛用户之前提醒你注意。

    netstat

    netstat与ps一样,也是Linux管理员每天都使用的Linux工具。它显示了与网络有关的大量信息,比如套接口使用情况、路由、接口、协议、网络统计信息及更多信息。最常用的一些选项如下:

    -a 显示套接口的所有信息

    -r 显示路由信息

    -i 显示网络接口的统计信息

    -s 显示网络协议的统计信息

    nmon

    nmon是Nigel's Monitor的简称,这款广受欢迎的开源工具用来监控Linux系统的性能。nmon可以监控多个子系统的性能信息,比如处理器使用率、内存使用率、运行队列的信息、磁盘输入/输出统计信息、网络输入/输出统计信息、内存分页活动和进程衡量指标。然后,你可以通过curses"图形化"界面,查看nmon的实时系统衡量结果。

    想运行nmon,你可以从外壳来启动该工具。一旦启动,只要输入单键命令,就可以选择要监控的子系统。比如说,想获得处理器、内存和磁盘等方面的统计信息,只要分别输入c、m和d.也可以使用带-f标志的nmon,将性能统计信息保存到CSV文件中,以便日后分析。

    就日常的服务器监控而言,我觉得nmon是我的Linux系统管理工具包中最有用的一个程序。

    pmap

    pmap命令用来报告服务器的进程所使用的内存量。你可以用这个工具来确定服务器上哪些进程被分配了内存、这些进程中有谁在大量使用内存。

    ps和pstree

    ps和pstree这两个命令是Linux系统管理员的两个得力助手。它们都能以列表的形式显示所有目前在运行的进程。ps可以告诉你服务器的程序在使用多少的内存和处理器时间。pstree显示的信息比较少,但着重表明了哪些进程是其他进程的子进程。掌握了这些信息,你就能发现失控的进程,然后用Linux"不留活口"的kill命令,来终止这些进程。

    sar

    sar程序好比是系统监控工具领域的瑞士军刀。sar命令实际上由三个程序组成:显示数据的sar、收集数据的sa1以及保存数据的sa2.一旦安装完毕,sar就能生成详细的概要信息,显示处理器使用率、内存分页活动、网络输入/输出和传输方面的统计信息、进程创建活动以及磁盘设备活动。sar和nmon的一大区别在于,前者更适合长期监控系统,我觉得nmon则比较适合帮助我快速查看服务器的运行状况。

    strace

    strace 经常被认为是程序员的调试工具,但它的功用不仅仅用来调试。它可以截获和记录进程调用系统的情况。因而,它是一个实用的诊断、教学和调试工具。比如说,你可以使用strace来查出某个程序在启动时实际上使用哪个配置文件。

    不过strace的确有一个缺陷。它在检查某个进程时,该进程的性能会一落千丈。因而,只有在我已经有极其充分的理由认为某个程序引起问题的情况下,才使用strace.

    tcpdump

    tcpdump是一个简单而可靠的网络监控实用工具。其基本的协议分析功能让你能够粗略查看网络上的情况。不过想真正深入分析网络方面的情况,你应该使用Wireshark(下面有介绍)。

    top

    top命令显示了活动进程方面的情况。默认情况下,它显示了服务器上运行的最消耗处理器的任务,而且每5秒钟就刷新一次列表。你还可以按多个标准对进程进行分类,比如PID(进程ID);年限,最新的列在最前面;时间,按累计时间;以及驻留内存使用情况和自启动以来一直使用处理器的总时间。我觉得它提供了一种快速而简易的方法,便于查看有没有进程开始即将失控、带来问题。

    uptime

    uptime可用来查看某台服务器运行了多久、有多少个用户登录上去。它还显示了服务器平均负载的概要信息。负载的最佳值是1或更小,这意味着每个进程可以立即访问处理器、不存在处理器周期丢失的情况。

    vmstat

    大体上来说,你可以使用vmstat来监控虚拟内存方面的情况。Linux不断使用虚拟内存,以获得最佳的存储性能。

    如果你的应用程序在占用过多的内存,你就会遇到频繁被换出内存(page-out)的情况——即程序从内存进入到系统硬驱上的交换空间。你的服务器可能会进入到这个阶段:花在管理内存分页上的时间比花在运行应用程序上的时间还多——这种情况被称为抖动(thrashing)。当你的电脑抖动时,性能就一落千丈。Vmstat可以显示平均的数据或实际样本,可以帮助你发觉大量耗用内存的程序和进程,以免它们导致服务器运行起来如同蜗牛缓行。

    Wireshark

    Wireshark之前名为Ethereal(而且现在仍经常这么叫),是tcpdump的同类工具,不过它更为高级,拥有先进得多的协议分析和报告功能。Wireshark既有GUI界面,又有外壳界面。如果你从事专业级的网络管理工作,只能使用ethereal.而如果你在使用Wireshark/ethereal,我强烈建议阅读Chris Sander所着的《实用数据包分析》(Practical Packet Analysis),该书深入浅出地介绍了如何最充分地利用这款实用程序。

    本文只是从总体上概述了一些Linux最有价值的系统监控程序。不过,如果你熟练掌握了这些程序,就为成为顶尖的 Linux系统管理员打下了基础。

分享到:
评论

相关推荐

    Linux服务器的16个监控命令.pdf

    本文将详细介绍16个Linux服务器监控命令,它们分别涉及存储、内存、处理器、网络等多个方面。 首先,关于服务器运行级别,运行级别(runlevel)是Linux系统的一种启动方式,用于确定系统启动时运行的服务和守护进程。...

    你需要知道的 16 个 Linux 服务器监控命令.pdf

    Linux 服务器监控是确保系统稳定性和性能的关键环节。本文将介绍16个必备的Linux监控命令,帮助你深入了解服务器的运行状态。 1. **iostat**:此命令用于查看存储子系统的性能,特别是磁盘I/O。关注%iowait字段,...

    Linux服务器维护常用命令

    ### Linux服务器维护常用命令知识点详解 #### 一、概述 在Linux服务器的日常维护工作中,掌握一系列关键命令是必不可少的技能。这些命令可以帮助系统管理员高效地监控、管理和维护服务器环境。根据提供的信息,我们...

    运维人员必备的Linux系统命令及其详解

    通过命令行接口,运维人员可以执行各种自动化脚本,监控系统状态,管理文件和进程等,从而高效地管理Linux服务器。随着经验的积累,运维人员能够更快捷地使用这些命令来解决实际问题,并且能够编写自己的shell脚本来...

    使用IPMI控制/监控Linux服务器

    1 IPMI简述  IPMI提供了很多丰富功能,我使用的功能,说得...  [1]:使用ipmitool实现Linux系统下对服务器的ipmi管理http://www.ibm.com/developerworks/cn/linux/l-ipmi/  1.1 使用的必备条件:  由于IPMI功能

    loadrunner监控linux必备插件

    2. **JMX Monitor**:对于运行Java应用的Linux服务器,JMX(Java Management Extensions)监控是非常重要的。LoadRunner支持通过JMX连接到Java应用服务器,获取线程池、内存池、Garbage Collection等信息,帮助分析...

    Linux服务器操作系统

    通过这个教程的学习,初学者可以掌握Linux服务器操作系统的基本操作和管理技巧,为进一步深入学习和实践打下坚实的基础。在实际工作中,Linux服务器操作系统的强大功能和稳定性使得它在云计算、大数据、物联网等领域...

    Linux 系统监控手册

    《Linux系统监控手册》 ...以上是《Linux系统监控手册》可能包含的主要内容,这些知识对于Linux运维人员来说是必备的技能。通过深入学习和实践,我们可以更好地管理和维护Linux系统,保证服务的高可用性和稳定性。

    linux服务器配置练习软件

    Linux服务器配置是IT专业人士必备的技能之一,尤其对于系统管理员和运维工程师来说至关重要。这款"Linux服务器配置练习软件"提供了一个模拟环境,让学习者能够深入理解和实践各种Linux服务器配置任务,从而提升技能...

    linux命令手册.搞运维必备

    CHM文件结构紧凑,便于快速查找,其中可能包括了每个命令的基本用法、参数选项、实例解析以及相关的提示和注意事项。用户可以通过这个文件系统地了解和学习各种Linux命令,如`ls`用于列出目录内容,`cd`用于切换目录...

    Linux服务器配置文档.docx

    【Linux服务器配置】这篇文档详细介绍了...综上所述,这个Linux服务器配置文档提供了一个完整的PHP+MySQL部署流程,适用于需要构建此类环境的技术人员参考。在实际操作中,应根据具体业务需求和安全策略调整配置细节。

    linux常用命令50个 学习操作系统必备

    ### Linux常用命令50个 学习操作系统必备 在Linux操作系统中,掌握一系列基础命令对于初学者来说至关重要。本文将详细介绍一系列基本且实用的Linux命令,帮助用户更好地理解和操作Linux系统。 #### 1. `cd` **功能...

    系统管理员必备——Linux服务器四大管理软件.pdf

    Linux 服务器管理软件是系统管理员的必备工具,可以帮助管理员快速部署、配置和维护服务器,节省时间和精力。在 Linux 服务器管理软件中,有四款人气较好的工具值得推荐:Splunk、openQRM、Opennms 和 Zenoss。 1. ...

    Linux服务管理与自动化运维 PPT课件

    【Linux服务管理与自动化运维】是IT领域中的一个重要主题,主要涵盖了如何管理和维护Linux系统,以及如何通过自动化工具提升运维效率。在这个PPT课件中,我们预计会深入探讨以下几个核心知识点: 1. **Linux基础...

    Linux的常用命令~ 很好的ppt~

    4. 多命令执行:用分号分隔可以在一行中输入多个命令,如`cd /etc; ls -l`。 5. 长命令拆分:使用反斜杠(\)断开长命令,以便在新行继续输入。 2.1.2 特殊字符与变量 在Bash环境下,有几个重要的环境变量: - ...

    linux核心命令速查

    这本《linux核心命令速查》就是针对Linux系统管理和日常使用中必备的命令进行梳理和解析的参考书。 首先,Linux系统中有一个非常核心的概念——Shell。Shell是用户与Linux操作系统进行交互的接口,负责解释用户的...

    Linux命令手册 运维工程师必备手册

    - 例如,可以为常用的服务器监控命令定义别名,以提高工作效率。 --- ##### unalias (撤销别名) **知识点解释**: - `unalias` 命令用于撤销之前通过`alias`定义的命令别名。 - 可以撤销单个或全部别名。 **示例...

    网络工程师考试必备-Linux各种服务器配置祥解

    在准备网络工程师考试的过程中,掌握Linux服务器的配置是至关重要的。Linux作为一种稳定、高效且开源的操作系统,广泛应用于各类服务器环境中。本资料详尽解析了Linux服务器的各种配置,旨在帮助考生深入了解并熟练...

Global site tag (gtag.js) - Google Analytics