[color=green][size=large]本篇是有关Linux监控的几个不错的命令,是散仙在51CTO上收集的,文末会附上原文链接,下面来看下具体每个命令的作用:


[table]
|序号|命令|描述
|1|iostat|iostat命令显示的是你的存储系统的细节状态,通常用来检测磁盘的IO负载
|2|meminfo|cat /proc/meminfo meminfo提供了很详细的内存使用状况
|3|free|简化版,查看当前内存的使用情况,包括交换区,和缓存区
|4|mpstat|mpstat用在多处理器的服务器上,用来显示每一个CPU的状态。
|5|netstat|可以显示很多有关网络方面的信息,例如socket使用情况、路由情况、网卡情况、协议情况、网络流量统计等等。
|6|ss|逐渐替代netstat命令,提供了更简单更详细的网络方面的查看
|7|nmon|nmon可以查看到处理器利用率、内存使用率、运行队列信息、磁盘IO统计、网络IO统计、换页统计等。
|8|pmap|pmap命令可以显示进程占用的内存量。你可以通过pmap找到那个占用内存量最多的进程。
|9|ps|通常用来查看系统的pid情况,经常与-ef连用
|10|pstree|pstree则会告诉我们进程间的父子关系
|11|sar|sar命令堪称系统监控工具里的瑞士军刀。

sar命令实际上是由三个程序组成的,即sar(用于显示数据)、sa1(用于采集数据)和sa2(用于存储数据)。

sar可以涵盖到CPU利用率信息、内存换页信息、网络IO传输信息、进程创建行为和存储设备行为。

sar和nmon的最大区别在于,sar更适用于长期的系统监控,而nmon则更适用于快速查看信息。
|12|strace|追查到一个程序在启动之初所需加载的配置文件信息。
|13|tcpdump|tcpdump是一个简单的、好用的网络监控工具。它的网络协议分析能力使得它能够看清网络中到底发生了什么
|14|top|实时状态查看系统的运行情况,包括cpu负载,内存使用
|15|uptime|通过uptime命令可以查看系统已经运行了多久,可以统计当前处于登陆状态的用户数量,还可以显示当前服务器的负载情况。
|16|vmstat|大多数情况下,你可以使用vmstat命令去查看系统的虚拟内存情况,因为Linux通常会通过虚拟内存来获得更好的存储性能。
|17|wireshark|Wireshark的前身叫做Ethereal,我们可以认为wireshark是tcpdump命令的大师兄,因为wireshark会更为专业,也具有更高级的协议分析和统计能力。
|18|lsof|Lsof命令用来显示所有打开的文件和进程的一个列表。打开的文件包括磁盘文件, 网络套接字, 管道, 设备 和 进程。使用这个命令的主要原因之一是当文件系统不能被卸载或者文件出现一个错误是文件正在被使用或打开。使用这个命令你能够很容易的找到那个文件正在被使用
|19|htop|Htop 是一个更先进的交互和实时进程监控工具。这和linux的top命令更相似但是Htop有更丰富的界面就像用户友好的界面管理进程,快捷键,水平和垂直的视图浏览进程等等。Htop是一个三部分的工具默认情况下没有包含。你必须安装它使用YUM包管理工具。
|20|iotop|Iotop 也和top,htop命令相似, 但是它能监视和显示实时的磁盘I/O信息和进程信息。这个工具更有用对于查找而外的进程和高使用磁盘读写进程。
|21|iptraf|IPTraf 是一个开源的基于console的实时网络监视工具,它收集了不同种类的信息例如通过网络的ip交通监视。包括tcp flag信息,icmp信息,tcp/udp交通故障,tcp连接包和字节统计。它还收集接口的统计TCP、UDP、IP、ICMP、非IP,IP校验和错误,界面活动的信息等。
[/table]
[/size][/color]