需要监控Linux服务器系统性能吗?尝试下面这些系统内置或附件的工具吧。


大多数Linux发行版本都装备了大量的监控工具,这些工具提供了能用作取得相关信息和系统活动的量度指标。

你能使用这些工具发现造成性能问题可能原因,这些原因包括:

1. 找出瓶颈

2. 硬盘(存储)瓶颈

3. CPU及内存瓶颈

4. 网络瓶颈

下面开始介绍找出这些原因的工具。当然,这份列表只是所有监控工具当中很小的一部分。

#1: top – 进程活动

top提供一个当前运行系统实时动态的视图,也就是正在运行进程。在默认情况下,显示系统中CPU使用率最高的任务,并每5秒刷新一次。

#2: vmstat -系统活动、硬件及系统信息使用vmstat命令可以得到关于进程、内存、内存分页、堵塞IO、traps及CPU活动的信息。

#3: w – 显示谁已登录,他们正在做什么?w命令显示系统当前用户及其运行进程的信息。

#4:uptime – 告诉系统已经运行了多久?uptime命令过去只显示系统运行多久。现在,可以显示系统运行多久、当前有多少的用户登录、在过去的1,5,15分钟里平均负载时多少。 

#5:ps – 显示进程ps命令显示当前运行进程的快照。使用-A或-e 显示所有进程。ps 与top 非常相似,但ps 提供更多的信息。

#6: free – 内存使用情况free命令显示系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer。

#7: iostat – CPU平均负载,硬盘活动iostat命令可报告中央处理器(CPU)的统计信息,各种设备、分区及网络文件系统输入/输出的统计信息。

#8: sar – 搜集和报告系统活动sar命令用来搜集、报告和储存系统活动信息。

#9:mpstat – 多处理器使用率mpstat命令可以显示所有可用处理器的使用情况,处理器编号从0开始。mpstat -P ALL 显示每个处理器的平均使用率。

#10: pmap – 进程的内存使用pmap命令可以显示进程的内存映射,使用这个命令可以找出造成内存瓶颈的原因。

#11:netstat – 网络相关信息netstat 可以显示网络链接、路由表信息、接口统计信息、伪装链接和多播成员(multicastmemberships)

#12:ss – 网络相关信息ss命令用来显示网络套接字信息,它允许显示类似netstat一样的信息。

#13: iptraf – 网络实时信息iptraf是一个可交互式的IP网络监控工具。它可以生成多种网络统计信息包括:TCP 信息、UDP数量、ICMP和OSPF信息、以太网负载信息、节点状态、IP校验错误等。

#14:tcpdump:详细的网络流量分析tcpdump 是一个简单网络流量转储工具,然而要使用好需要对TCP/IP协议非常熟悉。

#15:strace – 系统调用追踪系统调用和型号,这对于调试Web服务器和其他服务器非常有用。了解怎样追踪进程和他功能。

#16:/proc文件系统 – 各种内核信息/proc目录下文件提供了很多不同硬件设备和内核的详细信息。

#17:Nagios – 服务器及网络监控Nagios 是一款非常流行的系统及网络监控软件。你可以轻松监控所有的主机、网络设备及服务。它能在发生故障和重新恢复后发送警讯。

#18:Cacti – 基于Web的监控工具Cacti是一套完成的网络图形化解决方案,基于RRDTool的资料存储和图形化功能。Cacti提供一个快速的轮询器、进阶的图形化模板、多种数据采集方法和用户管理功能。这些功能都拥有非常友好易用的界面,确保可以部署在一个包含数百台设备的复杂网络中。它提供关于网络、CPU、内存、已登录用户、Apache、DNS等信息。

#19:KDE System GuardKSysguard 是在KDE 桌面下一个网络化的系统监控工具。这个工具可以通过SSH会话运行。它提供很多功能,例如可以监控本机和远程主机的客户端/服务器架构,前端图形界面使用所谓传感器得到信息并展现出来。传感器返回的可以是一个简单的数值或是一组表格的信息。针对不同的信息类型,提供一个或多个显示。这些显示被组织多个工作表中,可以工作表可以独体储存和加载。所以,KSysguard不只是一个简单的任务管理器,还是一个可以控制多台服务器的强大工具。

#20:Gnome System MonitorSystem Monitor可以显示系统基本信息、监控系统进程、系统资源及文件系统使用率。你也可以使用System Monitor监控和修改系统行为。尽管没有KDE System Guard功能强大,但其提供的基本信息对于入门用户还是非常有用的。