Skip to main content

在 Ubuntu 18.04 上查看指定时间系统负载情况

在 Ubuntu 18.04 上查看昨晚 20 点左右的系统负载情况,通常我们需要依赖一些工具来分析和查看历史性能数据。以下是几种方法,可以帮助你获取所需的信息:

1. 使用 sar(System Activity Reporter)

sar 是一个非常强大的系统性能监控工具,可以查看历史负载情况。首先,你需要确保 sysstat 包已安装,因为 sar 工具包含在这个包里。

安装 sysstat

sudo apt update
sudo apt install sysstat

启用 sysstat 服务
默认情况下,sysstat 可能没有启用收集数据,你需要启用该服务:

sudo systemctl enable sysstat
sudo systemctl start sysstat

查看负载数据
sar 默认每 10 分钟收集一次数据,数据会存储在 /var/log/sysstat/ 目录下。你可以使用以下命令查看负载数据:

sar -u -f /var/log/sysstat/sa<day_of_month> -s <start_time> -e <end_time>

例如,如果你想查看昨天(假设是 7 月 22 日)晚上 20:00 到 20:30 的 CPU 使用情况:

sar -u -f /var/log/sysstat/sa22 -s 20:00:00 -e 20:30:00

其他常见的 sar 参数

  • -u:查看 CPU 使用情况。

  • -r:查看内存使用情况。

  • -q:查看队列长度(负载情况)。

2. 使用 uptimew

如果你只关心系统的负载而不关心其他细节,可以使用 uptimew 命令来查看系统的当前负载情况。虽然这些工具不提供历史数据,但可以用来查看当前的负载状态。

  • 查看当前系统负载:

    uptime
    
  • 查看当前登录用户和负载:

    w
    

这些工具展示的信息通常包括系统负载、用户数和最近活动。

3. 查看 /var/log/syslogdmesg

syslog 文件和 dmesg 输出中有一些系统负载的间接信息。如果有异常情况(比如系统负载过高时),这些日志可能会记录相关的错误或警告信息。

  • 查看 /var/log/syslog

    grep "load" /var/log/syslog
    
  • 使用 dmesg 查看内核日志:

    dmesg | grep "load"
    

4. 使用 htoptop(实时查看负载)

htoptop 工具可以让你实时查看系统负载情况,包括 CPU 使用率、内存、进程等信息。这些工具只会显示当前的负载,但对于实时监控有很大帮助。

  • 安装 htop(如果没有安装):

    sudo apt install htop
    
  • 启动 htop

    htop
    
  • 或者使用 top(默认工具):

    top
    

5. 使用 atop(适用于高级负载分析)

atop 是另一个非常强大的性能监控工具,可以提供更为详细的历史性能数据,类似于 sar,但提供了更多的性能指标。

安装 atop

sudo apt install atop

查看历史负载
atop 会将每分钟的系统性能数据保存在 /var/log/atop/ 目录中。你可以使用以下命令查看指定日期的数据:

atop -r /var/log/atop/atop_<date>.gz

例如,查看 7 月 22 日的负载数据:

atop -r /var/log/atop/atop_2025-07-22.gz

6. 使用 journalctl 查看系统日志

journalctlsystemd 的日志查看工具,它可以提供关于系统负载的详细日志信息,特别是在 systemd 日志中记录的服务崩溃、资源消耗等事件。

  • 查看指定时间段的系统日志:

    journalctl --since "2025-07-22 20:00:00" --until "2025-07-22 20:30:00"
    
  • 如果你想查看所有负载相关的日志:

    journalctl | grep "load"
    

总结:

  • sar 是最合适的工具来查看历史负载数据(如果已经启用并收集了数据)。

  • atop 提供了更丰富的负载数据,也可以查看历史数据。

  • journalctlsyslog 适合用来查找任何与负载相关的日志信息,尤其是服务崩溃或异常时。

如果你之前没有启用相关服务(如 sysstatatop),那么可能需要在未来启用它们来收集和分析系统性能数据。