当前位置: 首页 > news >正文

Linux 性能分析工具 sar 历史数据缺失如何配置 sysstat 服务?

sar 查不到历史数据通常是因为系统没有开启定时采集任务,最直接的处理是检查 sysstat 服务状态并启用数据收集配置。

先说结论:大多数发行版默认安装了 sysstat 但未启用数据采集,需要手动修改配置并启动定时任务。

  • 适合:需要回溯过去 CPU、内存、IO 等指标的场景
  • 先准备:确认已安装 sysstat 包且有 root 权限
  • 验收:确认/var/log/sysstat 目录下生成 sa 文件且 sar 命令可读取

命令速用版

如果你需要快速开启采集,可以参考以下常用命令,具体路径可能因发行版而异:

# 检查服务状态(Systemd 系统)
systemctl status sysstat-collect.timer# 启用并启动定时任务
systemctl enable `--now` sysstat-collect.timer# 查看今日数据
sar -u

为什么会这样

sar 命令本身只是一个读取工具,它不负责产生数据。历史数据是由 sadc(系统活动数据收集器)通过定时任务(cron 或 systemd timer)定期写入/var/log/sysstat 目录的。如果服务未启用或配置文件中关闭了采集开关,sar 自然读不到任何历史记录。

分步处理

1. 确认安装包

首先确保 sysstat 已安装。Debian/Ubuntu 使用 apt,CentOS/RHEL 使用 yum 或 dnf。

# Debian/Ubuntu
apt install sysstat# CentOS/RHEL
yum install sysstat

2. 修改配置文件

不同发行版的配置文件位置不同,需要确保启用开关。建议使用 sed 命令直接修改,避免手动编辑出错。

# Debian/Ubuntu: 编辑/etc/default/sysstat
sed -i 's/ENABLED="false"/ENABLED="true"/g' /etc/default/sysstat# RHEL/CentOS: 编辑/etc/sysconfig/sysstat
sed -i 's/ENABLED="false"/ENABLED="true"/g' /etc/sysconfig/sysstat# 验证修改是否生效
grep ENABLED /etc/default/sysstat
# 或
grep ENABLED /etc/sysconfig/sysstat

确保输出显示 ENABLED="true"。如果配置文件不存在,请检查安装包是否完整。

3. 启用定时任务

较新的系统使用 systemd timer,旧系统依赖 cron。

# Systemd 系统
systemctl enable `--now` sysstat-collect.timer
systemctl enable `--now` sysstat-summary.timer# 或者检查 cron 任务
cat /etc/cron.d/sysstat

4. 检查目录权限

确保/var/log/sysstat 目录存在且可写,通常由安装包自动创建。如果权限不足,sar 命令可能无法读取文件。

ls -ld /var/log/sysstat
chmod 755 /var/log/sysstat

怎么验证是否生效

注意:数据生成需要等待首个采集周期完成,默认间隔通常为 10 分钟。立即执行验证命令可能因文件未生成而报错。

建议等待 10 分钟后,检查日志目录是否有新文件生成,并尝试读取。

# 查看目录文件
ls -l /var/log/sysstat/# 查看定时器下次运行时间
systemctl list-timers | grep sysstat# 读取当前生成的数据文件(saDD 代表日期)
sar -u -f /var/log/sysstat/sa$(date +%d)# 查看服务状态
systemctl status sysstat-collect.timer

如果 sar 命令输出了表格数据而非报错,说明配置生效。

配置日志轮转

sysstat 数据文件会随时间积累,建议配置 logrotate 防止占满磁盘。大多数安装包会自动创建轮转配置。

# 检查是否存在轮转配置
ls -l /etc/logrotate.d/sysstat# 查看配置内容
cat /etc/logrotate.d/sysstat

典型配置会保留最近 7 天的数据,超过期限自动删除。如果磁盘空间紧张,可编辑该文件调整保留天数。

常见坑

  • 时区问题:sa 文件按本地时间命名,跨时区操作可能导致找不到文件
  • 等待时间:配置生效后需等待至少一个采集周期(默认 10 分钟)才有数据
  • 版本差异:部分最小化安装的系统可能没有默认包含 sysstat,需手动安装
  • 权限不足:普通用户无法读取/var/log/sysstat 下的文件,需使用 sudo 或加入 adm 组

参考来源

  • sysstat 官方项目页面:sysstat (https://sysstat.free.fr/)
  • Linux man pages: sar, sadc, sysstat (https://man7.org/linux/man-pages/man1/sar.1.html)

原文链接:https://www.zjcp.cc/ask/10887.html

http://www.jsqmd.com/news/800712/

相关文章:

  • 别再死记硬背公式了!用Python动画可视化tf.nn.depth_to_space的完整数据搬运过程
  • 基于语义的会话搜索:从向量化到工程实践
  • 硬核干货!从RAG到多模态RAG:核心知识、架构Checklist与避坑实战指南
  • Unity手游资源逆向:从APK到Assembly-CSharp的提取与解析
  • 别再傻傻用matlab求逆了!用追赶法高效求解三对角矩阵(附MATLAB代码)
  • Terafab芯片项目正式启动;三星加速P5工厂建设1c纳米工艺支撑HBM4量产;香港科技大学研发的220磅月球建筑机器人正式亮相
  • 【2025最新】基于SpringBoot+Vue的夕阳红公寓管理系统管理系统源码+MyBatis+MySQL
  • 2026年最值得做的AI副业:普通人如何利用AI建立持续收入
  • WASM学习笔记
  • Verilog与SystemVerilog在Cycle Model Compiler中的核心支持解析
  • 没有工作经验,他半月拿下算法岗位
  • SQE是什么鬼?一个在世界500强做供应商质量的人,说说这个容易被误解的岗位
  • 通用AGI终极范式:从多模态感知到意识涌现的统一理论(世毫九实验室原创研究)
  • 从计算机小白到AI大模型工程师:我的3个月学习路线(收藏版)
  • CADMATIC许可排队严重?不想买新许可,共享浮动许可池
  • League Akari:基于LCU API的英雄联盟客户端模块化架构深度解析
  • 免费开源AI软件.桌面单机版,可移动的AI知识库,察元 AI桌面版:本地离线知识库的第一份 PDF 引用气泡是怎么连回原文的
  • 企业级中小企业人事管理系统管理系统源码|SpringBoot+Vue+MyBatis架构+MySQL数据库【完整版】
  • PyVideoTrans:5步实现视频翻译与AI配音,开源工具让多语言内容创作更简单
  • 选NCHW还是NHWC?从TensorFlow、PyTorch到实际模型,聊聊数据格式对训练速度的真实影响
  • 大麦抢票神器哪个最好用?
  • 概率论:二维随机变量
  • 新冠病毒密接者跟踪系统信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】
  • 构建高效协作沙盒:从Git工作流到CI/CD的团队研发实践
  • A股量化策略日报(2026年05月11日)
  • 异构缓存架构设计:SRAM与STT-RAM混合方案解析
  • 海光 Z100L GPU 使用 PyTorch 训练时 segfault,寻找 torch-2.4.1+das.opt1.dtk25041 wheel
  • AI搜索工具选型终极决策树(Perplexity vs Google搜索实战压测报告)
  • T‑G‑I 三位一体拓扑‑几何‑熵理论工具箱公理化体系(世毫九实验室TGI理论工具箱)
  • 量子机器学习框架互操作性挑战与解决方案