`

16个常用的Linux服务器监控命令

 
阅读更多
<style type="text/css"> <!-- .p {text-indent:2em} --> </style>

公司的项目终于进入验收阶段,昨天客户要求统计各服务器的运行参数,查几个命令查了很久,也没完全搞定;刚刚发现了今天的一篇新文章,果断收藏转载~


如果你想知道你的服务器正在做干什么,你就需要了解一些基本的命令,一旦你精通了这些命令,那你就是一个 专业的 Linux 系统管理员。

有些 Linux 发行版会提供 GUI 程序来进行系统的监控,例如 SUSE Linux 就有一个非常棒而且专业的工具 YaST,KDE 的 KDE System Guard 同样很出色。当然,要使用这些工具,你必须在服务器跟前进行操作,而且这些 GUI 的程序占用了很多系统资源,所以说,尽管 GUI 用来做基本的服务器健康状态监测挺好,但如果你想知道真正发生什么,请关掉 GUI 开始命令行之旅吧。

你应该只在需要的时候去启动 GUI ,不用的时候关掉它。如果要让服务器保持最佳性能,你应该将 Linux 服务器的运行级别 runlevel 设置为 3 ,就是控制台模式,当你需要图形化桌面的时候使用 startx 命令来启动它。

如果你的服务器启动后就直接进入图形界面,你需要修改配置 /etc/inittab 找到 initdefault 一样,将 id:5:initdefault 修改为 id:3:initdefault。

如果你没找到 /etc/inittab 文件,那就创建一个新的,文件内容增加 id:3 这么一行。这样下次服务器启动的时候就不会进入图形界面。如果你不想等到服务器重启的时候才生效,你可以执行 init 3 这个命令。

一旦你的服务器是在控制台模式下运行,你就可以开始我们接下来的内容。

iostat

iostat命令用来显示存储子系统的详细信息,通常用它来监控磁盘 I/O 的情况。要特别注意 iostat 统计结果中的 %iowait 值,太大了表明你的系统存储子系统性能低下。

meminfo 和 free

Meminfo可让你获取内存的详细信息,你可以使用 cat 和 grep 命令来显示 meminfo 信息:

1
cat /proc/meminfo

另外你可以使用 free 命令来显示动态的内存使用信息,free 只是给你大概的内存信息,而 meminfo 提供的信息更加详细。例如在 oschina 上的 free 命令执行结果:

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

mpstat

mpstatmpstat是MultiProcessor Statistics的缩写,是实时系统监控工具。其报告与CPU的一些统计信息,这些信息存放在/proc/stat文件中。在多CPUs系统里,其不但能查看所有CPU的平均状况信息,而且能够查看特定CPU的信息。

再来看看 oschina 上的 mpstat 命令执行结果:

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

netstat

Netstat和 ps 命令类似,是 Linux 管理员基本上每天都会用的工具,它显示了大量跟网络相关的信息,例如 socket 的使用、路由、接口、协议、网络等等,下面是一些常用的参数:

1
2
3
4
-a Show all socket information
-r Show routing information
-i Show network interface statistics
-s Show network protocol statistics

nmon

Nmon, 是 Nigel’s Monitor 的缩写,是一个使用很普遍的开源工具,用以监控 Linux 系统的性能。Nmon 监控多个子系统的性能数据,例如处理器的使用率、内存使用率、队列、磁盘I/O统计、网络I/O统计、内存页处理和进程信息。Nmon 也提供了一个图形化的工具:

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

要运行 nmon,你可以在命令行中启动它,然后选择要监控的子系统,这些子系统都对应有一个快捷键,例如输入 c 可查看 CPU 信息,m用于查看内存,d用来查看磁盘信息等,你也可以使用 -f 命令将 nmon 的执行结果保存到一个 CSV 文件中,便于日后分析。

在每日的监控工作中,我发现 nmon 是我最常用的工具。

pmap

pmap命令用来报告每个进程占用内存的详细情况,可用来看是否有进程超支了,该命令需要进程 id 作为参数。

ps 和 pstree

pspstree命令是 Linux 系统管理员最好的朋友,都可以用来列表正在运行的所有进程。ps 告诉你每个进程占用的内存和 CPU 处理时间,而 pstree 显示的信息没那么详细,但它以树形结构显示进程之间的依赖关系,包括子进程信息。一旦发现某个进程有问题,你可以使用kill来杀掉它。

sar

sar程序是系统监控工具里的瑞士军刀。该程序包含三个工具:sar 用来显示数据,sa1 和 sa2 用来收集数据并保存。sar 可用来显示 CPU 使用率、内存页数据、网络 I/O 和传输统计、进程创建活动和磁盘设备的活动详情。sar 和 nmon 最大的不同就是 sar 跟适合用作长期的监控,而 nmon 可以让你快速的了解系统当前状态。

strace

strace经常被认为是程序员调试的工具,但不止如此。它可以记录进程进行系统调用的详情,因此它也是一个非常好的诊断工具,例如你可以使用它来找出某个程序正在打开某个配置文件。

Strace 也有一个缺陷,但它在跟踪某个进程时会让该进程的性能变得非常差,因此请谨慎使用。

tcpdump

Tcpdump是一个简单、可靠的网络监控工具,用来做基本的协议分析,看看那些进程在使用网络以及如何使用网络。当然,如果你要获取跟详细的信息,你应该使用Wireshark(下面我们会介绍).

top

top命令显示当前的活动进程,默认它是按消耗 CPU 的厉害程度进行排序,每5秒钟刷新一次列表,你也可以选择不同的排序方式,例如 m 是按内存占用方式进行排序的快捷键。

uptime

uptime命令告诉你这台服务器从开机启动到现在已经运行了多长时间了。同时也包含了从启动到现在服务器的平均负载情况,看看 oschina 的数据:

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

我已经忘了上次是为什么重启机器了,好像是换了个机柜。

vmstat

你可以使用vmstat来监控虚拟内存,一般 Linux 上的开发者喜欢使用虚拟内存来获得最佳的存储性能。该命令报告关于内核线程、虚拟内存、磁盘、陷阱和 CPU 活动的统计信息。由 vmstat 命令生成的报告可以用于平衡系统负载活动。系统范围内的这些统计信息(所有的处理器中)都计算出以百分比表示的平均值,或者计算其总和。

在 oschina 上执行 vmstat 的结果:

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

Wireshark

Wireshark, 前身是 Ethereal ,是一个网络协议检测程序,让您经由程序抓取运行的网站的相关资讯,包括每一封包流向及其内容、资讯可依操作系统语系看出,方便查看、监控TCP session动态等等.

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

这里罗列的是大多数最有价值的 Linux 监控程序,当然,你可能还会使用其他的工具,不妨跟大家分享下。

英文原文hp.com

分享到:
评论

相关推荐

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

    Linux 服务器监控命令 Linux 服务器管理员需要掌握的 16 个必备监控命令,通过这些命令可以了解服务器的详细情况,从而确保服务器的性能和安全。 iostat 命令详细地显示了存储子系统方面的情况,能够监控存储子...

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

    本文将介绍16个必备的Linux监控命令,帮助你深入了解服务器的运行状态。 1. **iostat**:此命令用于查看存储子系统的性能,特别是磁盘I/O。关注%iowait字段,如果值过高,可能表明磁盘I/O存在瓶颈。 2. **meminfo ...

    Linux服务器维护常用命令

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

    Linux服务器查看性能命令

    本文将详细介绍 Linux 服务器性能查看命令,包括查看操作系统及硬件信息、CPU 信息、Mem 信息、磁盘信息、网卡信息、主板信息、机器所有硬件信息等多个方面。 1. 查看服务器操作系统及硬件信息(压力测试前) 在...

    《最全常用Linux命令集》.pdf

    Linux是一个自由且开放源代码的类Unix操作系统,广泛用于服务器、桌面电脑、超级计算机和各类嵌入式设备中。其具有可靠性、稳定性、速度快捷等特点,且基于UNIX系统改进的众多功能使得Linux在操作系统领域占有重要...

    网众Linux服务器常用命令(全)

    “网众Linux服务器常用命令和基本故障处理办法”则进一步明确了文档不仅提供命令使用指南,还包含了常见问题的解决策略,这对于快速定位并修复系统故障至关重要。 #### 知识点详述 1. **目录与文件管理** - `cd/...

    Linux远程监控设计与实现

    【Linux远程监控设计与实现】这篇文章主要探讨了如何在Linux环境下设计和实现一个远程监控系统,以实时监控服务器的CPU、内存和硬盘资源使用情况。该系统旨在提高网络管理的安全性和便利性。 1. **引言**: - 在...

    linux系统的监控命令

    本文将详细讲解两个常用的Linux监控命令:`top`和`vmstat`。 首先,`top`命令是Linux中一个强大的实时系统监控工具,它能显示系统中各个进程的资源占用状况,包括CPU使用率、内存使用情况、进程状态等。`top`命令的...

    linux服务器命令用法笔记

    本篇笔记主要针对Linux服务器中的常用命令及用法进行了详尽的总结,旨在帮助初学者快速上手,并为有一定经验的用户提供参考。 1. **基础命令** - `ls`:列出目录内容,通过`-l`选项可显示详细信息。 - `cd`:切换...

    Linux服务器操作命令.pdf

    一、Linux服务器常见命令 1. 操作命令: - `su`:切换用户身份,通常用于提升权限,例如执行需要root权限的操作。 - `pwd`:显示当前工作目录,帮助用户了解所在的位置。 - `cd`:改变当前工作目录,如`cd /home...

    linux常用命令大全.pdf

    支持加密连接,是远程管理Linux服务器的标准方式。 #### 四、备份压缩 - **tar**: 用于打包和压缩文件。支持多种压缩算法,如gzip、bzip2等。 - **zip/unzip**: 用于处理ZIP格式的压缩文件。这些命令易于使用且...

    linux服务器命令

    以上只是Linux服务器管理中的一小部分常用命令,实际上还有许多其他命令和工具,如网络监控、进程管理、包管理等,都需要根据实际需求学习和掌握。在日常运维工作中,熟练运用这些命令能大大提高工作效率。

    Linux资源监控常用指令

    以下是一些常用的Linux资源监控命令的详细解析: 1. **top命令**: - top命令是实时监控系统资源利用率的主要工具,它能显示系统中正在运行的进程及其资源消耗情况。例如,CPU利用率、内存使用情况、进程状态等。...

    Linux常用的60个命令-精选

    总结起来,这60个Linux命令覆盖了系统管理、文件操作、网络监控、安全性保护等多个方面,对于日常使用Linux系统和进行系统维护来说,都是必不可少的工具。掌握这些命令的使用方法,不仅可以提高工作效率,还可以在...

    Linux常用命令 LINUX常用命令和系统管理

    本篇主要介绍Linux中的常用命令和系统管理,帮助用户更好地理解和掌握这一强大的操作系统。 1. **文件目录基本操作** - `cd`: 改变当前工作目录,例如`cd /home/user`进入用户主目录。 - `ls`: 列出目录内容,如`...

    Linux常用命令 shell 常用命令

    3. **halt**: 关闭系统,安全地停止Linux服务器或工作站。 4. **id**: 显示用户ID和组ID,常用于调试和权限检查。 5. **kill**: 终止进程,是系统管理中处理异常或不再需要的进程的关键工具。 6. **ps**: 显示...

    常用Linux命令.pdf

    标题《常用Linux命令.pdf》指的是该文档是关于Linux操作系统中常见命令的总结指南。Linux系统是类Unix系统中的一种,广泛应用于服务器、桌面计算机、超级计算机等领域。该文档中的内容应当包括基础命令、文件系统...

    Linux服务器性能测试分析命令大全

    Linux服务器性能测试分析是指利用一系列的Linux命令和工具来评估和优化服务器运行状态,从而确保服务器能够高效、稳定地运行。性能测试的主要目的是发现系统的瓶颈并进行相应的调整和优化,提升系统的整体性能。 在...

    linux常用命令集

    这本"Linux常用命令集"电子书,提供了一个全面的指南,涵盖了新手到高级用户都需要了解的各种命令。以下是一些重要的Linux命令及其应用: 1. **ls**:用于列出目录内容,通过参数 `-l` 可以以详细格式显示,`-a` ...

    CRT连接linux服务器

    【标题】:“CRT连接Linux服务器”指的是使用CRT(SecureCRT)这款终端仿真程序来远程连接Linux服务器进行操作和管理。CRT全称为SecureCRT,是一款功能强大的SSH、Telnet和Rlogin客户端工具,常用于Windows系统中,...

Global site tag (gtag.js) - Google Analytics