- 我没有看到“sar”命令接受日期和时间作为开始时间(-s)或结束时间(-e),而不仅仅是时间。那么,如何查询“sar”以获取具有较早日期和时间的一天以上的数据点(-f 在这里没有帮助)。“sar”命令的输出也应该具有数据点的日期值 - 而不仅仅是小时和分钟的时间。
- 我看到 sysstat 每天都会分割 pa 数据文件。是否可以修改默认的 sysstat cron 条目以每周在单个 pa 文件中收集 sysstat(sa1/sa2) 数据。
系统状态配置:
cat /etc/sysconfig/sysstat
# sysstat-9.0.4 configuration file.
# How long to keep log files (in days).
# If value is greater than 28, then log files are kept in
# multiple directories, one for each month.
HISTORY=7
# Compress (using gzip or bzip2) sa and sar files older than (in days):
COMPRESSAFTER=10
# Parameters for the system activity data collector (see sadc manual page)
# which are used for the generation of log files.
SADC_OPTIONS="-S DISK"
sysstat cron 条目:
cat /etc/cron.d/sysstat
# Run system activity accounting tool every 10 minutes
*/10 * * * * root /usr/lib64/sa/sa1 1 1
# 0 * * * * root /usr/lib64/sa/sa1 600 6 &
# Generate a daily summary of process accounting at 23:53
53 23 * * * root /usr/lib64/sa/sa2 -A
答案1
您不能直接这样做。 sar(systat) 和朋友基本上仅限于每日记录。来自“sadc.c”(在 sysstat-11.7.2 中):
485 void setup_file_hdr(int fd)
486 {
...
507 file_hdr.sa_day = rectime.tm_mday;
508 file_hdr.sa_month = rectime.tm_mon;
509 file_hdr.sa_year = rectime.tm_year;
所以文件头只包含一天。
个人记录的格式有点令人信服。来自“sa.h”:
604 struct record_header {
...
617 /*
618 * Timestamp: Hour (0-23), minute (0-59) and second (0-59).
619 * Used to determine TRUE time (immutable, non locale dependent time).
620 */
621 unsigned char hour;
622 unsigned char minute;
623 unsigned char second;
但是,该结构还包含以 1/100 秒为单位的机器正常运行时间以及自纪元以来的秒数。我必须做更多的事情来看看这些值是如何使用的(我不会这样做),所以这更多的是一个提示而不是证明。