需要监控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 可以显示网络链接、路由表信息、接
口统计信息、伪装链接和多播成员(multicast
memberships)
#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 Guard
KSysguard 是在KDE 桌面下一个网络化的系
统监控工具。这个工具可以通过SSH会话运行。
它提供很多功能,例如可以监控本机和远程主机
的客户端/服务器架构,前端图形界面使用所谓传
感器得到信息并展现出来。传感器返回的可以是
一个简单的数值或是一组表格的信息。针对不同
的信息类型,提供一个或多个显示。这些显示被
组织多个工作表中,可以工作表可以独体储存和
加载。所以,KSysguard不只是一个简单的任务
管理器,还是一个可以控制多台服务器的强大工
具。
#20:Gnome System Monitor
System Monitor可以显示系统基本信息、监
控系统进程、系统资源及文件系统使用率。你也
可以使用System Monitor监控和修改系统行为。
尽管没有KDE System Guard功能强大,但其提
供的基本信息对于入门用户还是非常有用的。