Nfs
如何查詢 sar(sysstat) 超過一天的數據點
- 我沒有看到“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
你不能直接這樣做。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 秒內的機器正常執行時間和自紀元以來的秒數。我必須做更多的工作來看看這些值是如何使用的(我不會這樣做),所以這更多的是一個提示而不是證明。