2024年10月Linux安装使用监控软件Collectl的方法(2)

发布时间:

  ⑴. 同时报告多系统情况

  ⑵如果想要同时得到CPU,内存和磁盘报告,那么同时使用子命令组合来实现。

  ⑶$ collectl -scmd

  ⑷waiting for second sample.。。

  ⑸#《--------CPU--------》《-----------Memory-----------》《----------Disks-----------》

  ⑹#cpu sys inter ctxsw Free Buff Cach Inac Slab Map KBRead Reads KBWrit Writes

  ⑺. 显示统计时间

  ⑻若要将每行的监测信息和时间一同显示,使用T选项。通过在“-o”参数来指定。

  ⑼$ collectl -scmd -oT

  ⑽waiting for second sample.。。

  ⑾# 《--------CPU--------》《-----------Memory-----------》《----------Disks-----------》

  ⑿#Time cpu sys inter ctxsw Free Buff Cach Inac Slab Map KBRead Reads KBWrit Writes

  ⒀::GMGGMG

  ⒁::GMGGMG

  ⒂::GMGGMG

  ⒃使用“-oTm”可将时间换成毫秒显示。

  ⒄. 改变样本计数

  ⒅collectl报告的每行都是一份快照或样本,它通常设定定期间隔如秒来取样。i可用来设置时间间隔,c用来设置样本计数。

  ⒆$ collectl -c -sm

  ⒇waiting for second sample.。。

  ⒈#《-----------Memory-----------》

  ⒉#Free Buff Cach Inac Slab Map

  ⒊使用i命令可改变更新时间间隔。

  ⒋$ collectl -sm -i

  ⒌waiting for second sample.。。

  ⒍#《-----------Memory-----------》

  ⒎#Free Buff Cach Inac Slab Map

  ⒏上面的命令设定每秒收集一次内存信息。

  ⒐. 像iotop一样使用collectl

  ⒑top命令将collectl像iostat/top工具一样进行智能统计。列表会持续更新,且可以使用不同字段实现排序。

  ⒒$ collectl --top iokb

  ⒓# TOP PROCESSES sorted by iokb (counters are /sec ::

  ⒔# PID User PR PPID THRD S VSZ RSS CP SysT UsrT Pct AuTime RKB WKB MajF MinF mand

  ⒕ enlighte S MM..:./usr/bin/ktorrent

  ⒖ root S MM..:./sbin/init

  ⒗ root S ..:. kthreadd

  ⒘ root S ..:. ksoftirqd/

  ⒙ root S ..:. kworker/:

  ⒚ root S ..:. kworker/:H

  ⒛ root RT S ..:. migration/

  ① root S ..:. rcu_bh

  ② root S ..:. rcuob/

  ③上面的输出很像top命令,并且它以磁盘数量降序排列进程。

  ④若只想显示上面的项进程,可用以下命令实现

  ⑤$ collectl --top iokb,

  ⑥若想学习上面的列表里哪些字段可以排序,使用如下命令

  ⑦$ collectl --showtopopts

  ⑧下面是应用于进程或数据的最高排序类型列表。某些情况下你可能会使用某一字段进行排序,但它并非显示的一部分。

  ⑨TOP PROCESS SORT FIELDS

  ⑩vsz virtual memory

  Ⅰrss resident (physical memory

  Ⅱsyst system time

  Ⅲusrt user time

  Ⅳtime total time

  Ⅴaum aumulated time

  Ⅵrkb KB read

  Ⅶwkb KB written

  Ⅷiokb total I/O KB

  Ⅸrkbc KB read from pagecache

  Ⅹwkbc KB written to pagecache

  ㈠iokbc total pagecacge I/O

  ㈡ioall total I/O KB (iokb+iokbc

  ㈢rsys read system calls

  ㈣wsys write system calls

  ㈤iosys total system calls

  ㈥iocl Cancelled write bytes

  ㈦PageFaults

  ㈧majf major page faults

  ㈨minf minor page faults

  ㈩flt total page faults

  ContextSwitches

  vctx volunary context switches

  nctx non-voluntary context switches

  Miscellaneous(best when used with--procfilt

  cpu cpu number

  pid process pid

  thread total process threads (not counting main

  TOP SLAB SORT FIELDS

  numobj total number of slab objects

  actobj active slab objects

  objsize sizes of slab objects

  numslab number of slabs

  objslab number of objects in a slab

  totsize total memory sizes taken by slabs

  totchg change in memory sizes

  totpct percent change in memory sizes

  name slab names

  . 像top一样使用collectl

  为使collectl像top,我们只需以CPU使用率排序输出进程。

  $ collectl --top

  # TOP PROCESSES sorted by time (counters are /sec ::

  # PID User PR PPID THRD S VSZ RSS CP SysT UsrT Pct AuTime RKB WKB MajF MinF mand

   enlighte R MM..:./usr/bin/perl

   enlighte S MM..:./usr/bin/yakuake

   enlighte S GM..:./opt/google/chrome/chrome

   enlighte S GM..:./usr/lib/firefox/firefox

   enlighte S GM..:./opt/google/chrome/chrome

   root S MM..:./usr/bin/X

   www-data S MM..:. nginx:

  上面的命令也可用于显示子系统信息。

  $ collectl --top -scm

  . 像ps一样列出进程

  为像ps命令一样列出所有进程且没有后续更新,用“c”命令让其计数至. $ collectl -c -sZ -i:

  上面的命令将会列出类似“ps -e”命令的所有进程。“procfilt”用于从所有进程中过滤出特定的进程信息。“procopts”用于指定另一组微调进程列表显示的命令。

  . 像vmstat一样使用collectl

  Collectl有内置命令来完成像vmstat一样的功能。

  $ collectl --vmstat

  waiting for second sample.。。

  #procs ---------------memory (KB--------------- --swaps-- -----io---- --system-- ----cpu-----

  # r b swpd free buff cache inact active si so bi bo in cs us sy id wa

  . 子系统的详细信息

  下面的命令以一秒为间隔,统计次CPU信息并和时间一起显示出详细信息(冗长。

  $ collectl -sc -c -i --verbose -oT

  waiting for second sample.。。

  # CPU SUMMARY (INTR, CTXSW & PROC /sec

  #Time User Nice Sys Wait IRQ Soft Steal Idle CPUs Intr Ctxsw Proc RunQ Run Avg Avg Avg RunT BlkT

  改变“-s”变量查看不同的子系统。

  本文的介绍不过是对collectl这个强大工具的一些浅见。本文本希望展示它有多灵活,其实通过以上的讨论让我们了解了包括记录及回寻捕获的数据,以多种文件格式导出数据并将数据转换为可被广泛的工具分析的格式等等功能的实现。

  collectl提供的另一大功能便是像服务一样运行,对远程Linux机器或完整的服务器集群提供远程监控,其表现堪称完美。

  Collectl同另一批可用于处理分析收集数据的名为Collectl实用工具 (colmux, colgui, colplot的功能相契合。

  上面就是Linux安装和使用Collectl的方法介绍了,Collectl能够完成像ps、top、vmstat这些监控命令一样的功能,且还有其他的功能,比单纯的使用命令简单。