监视Linux系统健康状况的工具列表

  Linux系统需要实现良好的性能是系统管理的一个重要组成部分,系统的监控和维护是最重要的任务,下面的列表清单是网络系统管理员日常工作工具集。这些工具主要是为了监控以下服务和属性:

  • CPU 负载
  • 带宽
  • 内存使用率
  • 磁盘使用率
  • 用户日志
  • 运行中流程

显示磁盘状况

(1)df

使用df能够显示磁盘剩余多少空间。

$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/ubuntutest--vg-root 19G 1.3G 17G 7% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 227M 4.0K 227M 1% /dev
tmpfs 48M 608K 47M 2% /run
none 5.0M 0 5.0M 0% /run/lock
none 238M 0 238M 0% /run/shm
none 100M 0 100M 0% /run/user
/dev/sda1 236M 39M 186M 18% /boot

(2)du

显示一个多个目录的大小 包括子目录 文件。

$ du -h /usr/share/audio
796K /usr/share/audio/samples/au
797K /usr/share/audio/samples
798K /usr/share/audio

 

磁盘虚拟内存状况

(1)vmstat

显示虚拟内存状态和信息,包括CPU负载 分页 上下文切换 设备终端 系统调用等等。下面命令是每5秒间隔。

$ vmstat 5
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 332 43500 7584 228056 0 0 16 25 32 57 0 0 99 0 0
0 0 332 43484 7584 228088 0 0 0 1 70 92 0 0 100 0 0

vmstat -s 显示系统事件自从上次启动以来发生了多少:

$ vmstat -s
486484 K total memory
442828 K used memory
183832 K active memory
148632 K inactive memory
43656 K free memory
7600 K buffer memory
228088 K swap cache
520188 K total swap
332 K used swap
519856 K free swap
2987 non-nice user cpu ticks
152 nice user cpu ticks
2620 system cpu ticks
1191969 idle cpu ticks
3232 IO-wait cpu ticks
6 IRQ cpu ticks
789 softirq cpu ticks
0 stolen cpu ticks
190420 pages paged in
295590 pages paged out
194 pages swapped in
310 pages swapped out
386194 interrupts
682710 CPU context switches
1422373173 boot time
2507 forks

(2)free

free命令提供已用和未用的内存和swap空间大小。

$ free -m
total used free shared buffers cached
Mem: 475 433 41 5 7 222
-/+ buffers/cache: 202 272
Swap: 507 0 507

 

显示打开文件状态

(1)Lsof

Lsof用户显示打开多少文件和流程,打开文件包括磁盘文件 网络socket 管道和设备和流程。

 

显示正在运行的流程状态

top

显示CPU使用 内存使用 swap内存 缓存大小 buffer大小 流程PID 用户和命令,定期更新。

 

显示带宽状况

NetHogs

nethogs是一个小的net top工具,不像其他工具会切断流量,显示每个流程的带宽占用情况。,默认是监控 eth0 网卡 ,如果有多网卡的话就必须进行指定。

nethogs
 nethogs eth1
 nethogs [option] eth0 eth1

 

LTTng

LTTng是一个系统详细分析脚本,能够执行以下分析:

  • 整个系统CPU使用率
  • 每个流程的CPU使用率
  • 流程 CPU迁移计数 migration count
  • 每个流程内存使用率
  • 系统级的内存使用率
  • I/O使用率 usage (syscalls, disk, network)
  • I/O操作日志 (with latency and usage)
  • I/O 延迟状况 (open, read, write, sync operations)
  • I/O 延迟频度分布
  • 在统计 (count, min, max, average stdev)期间的中断处理程序
  • 在top期间的中断处理程序
  • 在处理日志期间的中断处理程序
  • Interrupt handler duration frequency distribution
  • SoftIRQ handler latency statistics
  • Syscalls usage statistics