我刚刚sysstat
在 Manjaro 上安装了该软件包。 sar
第一次运行时,我看到:
Cannot open /var/log/sa/sa21: No such file or directory
Please check if data collecting is enabled
如何检查数据收集是否已启用?
如果不是,我该如何启用它?
答案1
在 Ubuntu 16.04 上,我刚刚遇到了同样的问题。经过一段时间抱怨我发现我需要通过编辑文件来启用该服务/etc/default/sysstat
更改ENABLED="false"
为 true:
# Should sadc collect system activity informations? Valid values
# are "true" and "false". Please do not put other values, they
# will be overwritten by debconf!
ENABLED="true"
重启服务:
systemctl restart sysstat.service
只是一个简短的说明,就像一个 dingleberry,我没有仔细阅读,/etc/sysstat/sysstat
而是导航到了它/etc/default/sysstat
,浪费了 5 分钟浏览手册页和其他内容。
答案2
sysstat
需要启动服务和相关计时器:
systemctl start sysstat sysstat-collect.timer sysstat-summary.timer
要在下次系统启动时自动启动:
systemctl enable sysstat sysstat-collect.timer sysstat-summary.timer
答案3
通常,这将由 cron 或作为服务运行,具体取决于系统软件包的配置方式。现代版本用于sa1
将历史数据收集到文件中。旧版本运行atsar
以执行相同操作。
检查man
以 开头的页面man sar
。另外,还应该有 中的文档/usr/share/doc/sysstat
。
sar
即使没有历史数据,也可以用来收集和显示当前数据。
检查中是否有任何文件/var/log/sa
,如果有则表示正在收集数据。
答案4
在 CentOS7 上,sysstat
安装软件包后,sysstat 服务未运行:
$ sar
Cannot open /var/log/sa/sa07: No such file or directory
$ systemctl status sysstat
* sysstat.service - Resets System Activity Logs
Loaded: loaded (/usr/lib/systemd/system/sysstat.service; enabled; vendor preset: enabled)
Active: inactive (dead)
你必须启动它:
$ sudo systemctl start sysstat
$ systemctl status sysstat
* sysstat.service - Resets System Activity Logs
Loaded: loaded (/usr/lib/systemd/system/sysstat.service; enabled; vendor preset: enabled)
Active: active (exited) since Thu 2022-07-07 17:24:20 CEST; 1s ago
Process: 93293 ExecStart=/usr/lib64/sa/sa1 --boot (code=exited, status=0/SUCCESS)
Main PID: 93293 (code=exited, status=0/SUCCESS)
Jul 07 17:24:20 PAR-SCAL-CONNECT02 systemd[1]: Starting Resets System Activity Logs...
Jul 07 17:24:20 PAR-SCAL-CONNECT02 systemd[1]: Started Resets System Activity Logs.
现在它运行良好:
# sar
Linux 3.10.0-1160.62.1.el7.x86_64 (HOSTNAME-OF-SERVER) 07/07/22 _x86_64_ (4 CPU)
17:24:20 LINUX RESTART
#
在 Ubuntu 上,sysstat
安装包后,您必须启用它:
$ sudo dpkg-reconfigure sysstat