Linux使用系统监控神器Collectl
为使系统良好运转,Linux系统管理员经常需要监测cpu,内存,磁盘,网络等系统信息。Linux上已有iotop,top,free,htop,sar等丰富的常规工具来实现监测功能。今天让我们走进Collectl来了解这个集测试/监控/分析系统性能为一体的Linux工具。
《Linux就该这么学》向同学们介绍Collectl作为一个轻量级的监控工具。
安装collectl工具
- 01
对Ubuntu/Debian用户来说Collectl是默认资源,所以使用apt命令便可获取。 $ sudo apt-get install collectl Fedora/CentOS用户使用yum命令便可获取。 $ yum install collectl
使用
- 01
1. 监测cpu使用率 用“-sc”实现CPU总使用率的监测 $ collectl -sc waiting for 1 second sample... #<--------CPU--------> #cpu sys inter ctxsw 3 0 1800 3729 3 0 1767 3599 使用“-C”观察各个单独的CPU使用情况。结果将会输出多行,分别对应一个CPU。 $ collectl -sC waiting for 1 second sample... # SINGLE CPU STATISTICS # Cpu User Nice Sys Wait IRQ Soft Steal Idle 0 3 0 0 0 0 0 0 96 1 3 0 0 0 0 0 0 96 2 2 0 0 0 0 0 0 97 3 1 0 0 0 0 0 0 98 0 2 0 0 0 0 0 0 97 1 2 0 2 0 0 0 0 95 2 1 0 0 0 0 0 0 98 3 4 0 1 0 0 0 0 95 如果需要,可以同时使用C和c来获取单项CPU监测数据和汇总数据。
- 02
2. 内存监测 使用m子系统查看内存。 $ collectl -sm waiting for 1 second sample... #<-----------Memory-----------> #Free Buff Cach Inac Slab Map 2G 220M 1G 1G 210M 3G 2G 220M 1G 1G 210M 3G 2G 220M 1G 1G 210M 3G 不难解释。 M用来查看更多内存的详细信息。 $ collectl -sM waiting for 1 second sample... # MEMORY STATISTICS # Node Total Used Free Slab Mapped Anon Locked Inact Hit% 0 7975M 5939M 2036M 215720K 372184K 0 6652K 1434M 0 0 7975M 5939M 2036M 215720K 372072K 0 6652K 1433M 0 这类似于免费报告吗?
- 03
3. 查看磁盘使用情况 d和D可以查看磁盘使用的概况和详细情况。 $ collectl -sd waiting for 1 second sample... #<----------Disks-----------> #KBRead Reads KBWrit Writes 4 1 136 24 0 0 80 13 $ collectl -sD waiting for 1 second sample... # DISK STATISTICS (/sec) # <---------reads---------><---------writes---------><--------averages--------> Pct #Name KBytes Merged IOs Size KBytes Merged IOs Size RWSize QLen Wait SvcTim Util sda 0 0 0 0 0 0 0 0 0 0 0 0 0 sda 0 0 0 0 0 0 0 0 0 0 0 0 0 sda 1 0 2 1 17 1 5 3 2 2 6 2 1 sda 0 0 0 0 92 11 5 18 18 1 12 12 5 “--verbose”命令可以用来查看附加信息。和D命令不同,它将概况扩展,包含了更多信息。 $ collectl -sd --verbose
- 04
4. 同时报告多系统情况 如果想要同时得到CPU,内存和磁盘报告,那么同时使用子命令组合来实现。 $ collectl -scmd waiting for 1 second sample... #<--------CPU--------><-----------Memory-----------><----------Disks-----------> #cpu sys inter ctxsw Free Buff Cach Inac Slab Map KBRead Reads KBWrit Writes 4 0 2187 4334 1G 221M 1G 1G 210M 3G 0 0 0 0 3 0 1896 4065 1G 221M 1G 1G 210M 3G 0 0 20 5
- 05
5. 显示统计时间 若要将每行的监测信息和时间一同显示,使用T选项。通过在“-o”参数来指定。 $ collectl -scmd -oT waiting for 1 second sample... # <--------CPU--------><-----------Memory-----------><----------Disks-----------> #Time cpu sys inter ctxsw Free Buff Cach Inac Slab Map KBRead Reads KBWrit Writes 12:03:05 3 0 1961 4013 1G 225M 1G 1G 212M 3G 0 0 0 0 12:03:06 3 0 1884 3810 1G 225M 1G 1G 212M 3G 0 0 0 0 12:03:07 3 0 2011 4060 1G 225M 1G 1G 212M 3G 0 0 0 0 使用“-oTm”可将时间换成毫秒显示。