Linux 中使用 Sysstat (或类似) 实现与 Windows 相当的性能计数器

Linux 中使用 Sysstat (或类似) 实现与 Windows 相当的性能计数器

我管理一系列 Windows 和 Linux 服务器。在 Windows 服务器上,我每 15 秒将以下性能计数器记录到 CSV 文件中:

瓶颈分析:

  • 处理器队列长度
  • 内存:页面输入/秒(从磁盘读取页面以解决硬页面错误(即当系统的物理 RAM 太少时)的速率)
  • 物理磁盘:当前磁盘队列长度(对于每个驱动器)
  • 网络接口:输出队列长度(针对每个 NIC)

一般活动:

  • 处理器时间百分比(总计)
  • 总工作集(所有进程的总和)
  • 内存:可用兆字节
  • 物理磁盘:字节数/秒(每个驱动器)
  • 网络接口:总字节数/秒(每个 NIC)

我的 Linux 服务器缺少类似的性能日志。我查看了 Sysstat (http://sebastien.godard.pagesperso-orange.fr/),虽然相当复杂,但看起来很有希望。

如果我要使用 Sysstat(或其他程序),我该如何设置上述 Windows 计数器的 Linux 等效程序?

答案1

dstat 和 collectl 是很好的工具,可以为您提供系统概览,但如果您希望获取特定信息放入您的 CSV 文件,我认为最简单的方法是解析 sysstat 工具或 vmstat 的输出,或者只是解析 /proc 中的原始数据。

具体来说:

  • 处理器队列长度:/proc/loadavg 的 1 分钟平均负载

  • 内存页面输入/输出:来自 vmstat 输出的 si/so 列

  • 物理磁盘:iostat -x 的输出

  • 网络接口输出队列长度:ethtool -g ethN 和 ifconfig ethN(静态值,所以可能没有多大意义?)

  • % 处理器时间:例如,使用“mpstat -P ALL”查看 mpstat 或每个 CPU

  • 总工作集:参见“free”或“vmstat -s”的输出

  • 可用内存:free 或 vmstat -s

  • 物理磁盘:参见 iostat -x

  • nic:ip -s link 或 netstat -i 并计算,或 sar -n DEV

答案2

我想推荐另一个免费工具,叫做海狮。它是一款基于云的监控工具,可执行一些众所周知的系统分析命令,如、、、top等,并以非常漂亮的时间轴格式呈现。这里要注意的最重要的一点是安装过程非常简单。它很快就能完成设置,数据也很快就能开始填充。如果您有数百台服务器需要监控,那么这非常有用。uptimeiostatvmstatnetstat

SeaLion 快照

相关内容