开始新对话

未解决

此帖子已超过 5 年

1270

2013年1月31日 20:00

Linux监控命令大全

​ ​
​ ​

​Linux​​监控命令大全​

​ ​
​ ​

​ ​

​转载请在文首保留原文出处:​​中文支持论坛​​ ​​https://community.emc.com/go/chinese​

​ ​​ ​
​ ​

​介绍​

​ ​
​ ​

​ ​

​ ​

​如果你想做一些性能调优的工作,如果你想实时了解​​Linux​​服务器的运行情况,记录一些常用的​​Linux​​系统监控命令,方便以后查阅是非常必要。专业的​​Linux​​系统管理员一定要善于利用一些工具来监控相应的状态。通过这些常用​​Linux​​监控命令,你可以比较方便的监控到​​CPU ​​、​​I/O ​​、​​network​​等设备状态,很多时候就已经可以解决大部分的问题。​

​ ​

​ ​

​ ​
​ ​

​更多信息​

​ ​
​ ​

​ ​

​ ​

​本文将按照进程监控、​​性能监控​​、网络监控和其它三个部分介绍常用的​​Linux​​监控命令。首先介绍进程监控,​​Linux​​上有​​5​​种进程状态:运行(正在运行或在运行队列中等待)、中断、不可中断(收到信号不唤醒和不可运行​​, ​​进程必须等待直到有中断发生)、僵死(进程已终止)和停止(进程停止运行)。对进程监控主要使用一下命令:​

​ ​

​ ​

​ ​

​top ​​命令的作用主要是获取当前的活动进程。在默认情况下,对系统中​​CPU​​使用率最高的进程进行排序,每​​5​​秒钟刷新一次列表,你也可以选择不同的排序方式,例如你想分析一下某个进程的运行情况,可以通过该命令查看当前进程消耗​​CPU​​的情况。​

​ ​

​ ​

​ ​

​ps ​​是显示瞬间行程的状态,并不动态连续;如果想对进程运行时间监控,应该用​​top​​工具。这个命令的作用,主要是可以获取到对应一个进程下的线程的一些信息。比如你想分析一下一个进程的一些运行瓶颈点,可以通过该命令找到所有当前​​Thread​​的占用​​CPU​​的时间。​

​ ​

​ ​

​ ​

​VMWare​​是全面的性能分析工具。​​vmstat​​可以用来监控虚拟内存,该命令报告关于内核线程、虚拟内存、磁盘的​​I/O​​、中断和​​CPU ​​活动的统计信息。由​​vmstat​​命令生成的报告可以用于平衡系统负载活动。系统范围内的这些统计信息(所有的处理器中)都计算出以百分比表示的平均值,或者计算其总和。​

​ ​

​ ​

​ ​

​ ​

​ ​

​性能监控相关命令​

​ ​

​ ​

​ ​

​iostat​​是​​I/O statistics​​(输入​​/​​输出统计)的缩写,通常用它来监控磁盘​​ I/O​​的情况。它的特点是汇报磁盘活动统计情况,同时也会汇报出​​CPU​​使用情况。​

​ ​

​ ​

​ ​

​sar​​是​​Linux​​下用来分析系统本身运行情况的非常有用的工具。该程序包含三个工具:​​sar ​​用来显示数据,​​sa1 ​​和​​ sa2 ​​用来收集数据并保存。​​sar​​就是用来帮助我们了解操作系统当前内存​​,cpu​​和​​IO​​等资源的使用情况的一个非常方便的工具,​​sar​​的功能可以覆盖​​mpstat , iostat​​的相关功能。​

​ ​

​ ​

​ ​

​nmon, ​​是​​ Nigel's Monitor ​​的缩写,是一个使用很普遍的开源工具,用以监控​​Linux​​系统的性能。​​nmon​​工具可以帮助在一个屏幕上显示所有重要的性能优化信息,包括:​​CPU​​使用率 、内存使用情况、内核统计信息和运行队列信息、磁盘​​I/O ​​速度、传输和读​​/​​写比率、文件系统中的可用空间和磁盘适配器等等,并动态地对其进行更新。该工具是一个独立的二进制文件(不同的​​AIX ​​或​​ Linux ​​版本中该文件也有所不同),您可以在五秒钟内完成该工具的安装,如果您的输入速度更快的话,也许时间更短。​

​ ​

​ ​

​ ​

​网络监控相关命令​

​ ​

​ ​

​ ​

​tcpdump​​是一个用于截取网络分组,并输出分组内容的工具,简单说就是数据包抓包工具。​​tcpdump​​凭借强大的功能和灵活的截取策略,使其成为​​Linux​​系统下用于网络分析和问题排查的首选工具。​

​ ​

​ ​

​ ​

​Wireshark​​是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。网络封包分析软件的功能可想像成​​"​​电工技师使用电表来量测电流、电压、电阻​​" ​​的工作,只是将场景移植到网络上,并将电线替换成网络线。 ​

​ ​

​网络管理员使用​​Wireshark​​来检测网络问题,网络安全工程师使用​​Wireshark​​来检查资讯安全相关问题,开发者使用​​Wireshark​​来为新的通讯协定除错,普通使用者使用​​Wireshark​​来学习网络协定的相关知识当然,因此​​wireshark​​是一款必备的网络监控软件。 ​

​ ​

​ ​

​ ​

​netstat​​是控制台命令,是一个监控​​TCP/IP​​网络的非常有用的工具。它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。​​netstat​​用于显示与​​IP​​、​​TCP​​、​​UDP​​和​​ICMP​​协议相关的统计数据,一般用于检验本机各端口的网络连接情况。​

​ ​

​ ​

​ ​

​ ​

​ ​

​其它监控命令​

​ ​

​ ​

​ ​

​Linux​​系统中的​​uptime​​命令主要用于获取主机运行时间和查询​​Linux​​系统负载等信息。​​uptime​​命令可以显示系统已经运行了多长时间,信息显示依次为:现在时间、系统已经运行了多长时间、目前有多少登陆用户、系统在过去的​​1​​分钟、​​5​​分钟和​​15​​分钟内的平均负载。​​uptime​​命令用法十分简单:直接输入​​uptime​​即可​​.​​另外还有一个参数​​-V​​,是用来查询版本的。​

​ ​

​ ​

​ ​
​ ​

​参考​

​ ​
​ ​

​ ​

​ ​

​Linux​​使用手册​

​ ​
​ ​

​应用于​

​ ​
​ ​

​ ​

​ ​

​Linux​​监控​

​ ​

​ ​

​ ​
​ ​

2 Intern

 • 

483 消息

2013年2月3日 22:00

很不错,还有一个问题,想请教,使用了这些命令后,我如何知道命令监控的项是什么意思?那些是需要我注意的项?这些项反应了一个什么问题呢?

2 Intern

 • 

2.8K 消息

2013年2月3日 22:00

Linux提供了丰富的帮助手册,当你需要查看某个命令的参数时不必到处上网查找,只要man一下即可。顺便问一下,你对帖子(https://community.emc.com/thread/168533)中的EMC统一存储的定义还有疑问吗?

2 Intern

 • 

483 消息

2013年2月4日 21:00

谢谢Jeffey的回答,其实我想知道一些常用的监控项,便于了解整个系统的情况。

恩,不好意思,还没来得及去看,我马上去看看哈,我看到回的比较多,所以想找一个比较充足的时间好好体会体会

找不到事件!

Top