
我正在嘗試找到一種方法來獲取過去 2 個月的 CPU 使用率。我嘗試過使用sar。我發現 sar 可以收集和報告 CPU 使用率,而且它是透過 sysstat 實用程式安裝的。安裝後, /usr/lib64/sa/sa1 目錄將「歷史」引用儲存在 /var/log/sa/sadd 目錄中,其中 dd = 月份中的日期。您可以在 cron.d/sysstat 檔案中設定指定的參數。對我來說,它看起來像這樣:
# run system activity accounting tool every 10 minutes
*/10 * * * * root /usr/lib64/sa/sa1 1 1
# generate a daily summary of process accounting at 23:53
53 23 * * * root /usr/lib64/sa/sa2 -A
然後 /usr/lib64/sa/sa2 在 /var/log/sa/sadd 目錄中建立每日報告。對我來說 sa2 看起來像這樣:
#!/bin/sh
# /usr/lib64/sa/sa2.sh
# (C) 1999-2006 Sebastien Godard (sysstat <at> wanadoo.fr)
#
# Changes:
# - 2004-01-22 Nils Philippsen <[email protected]>
# make history configurable
#
HISTORY=7
[ -r /etc/sysconfig/sysstat ] && . /etc/sysconfig/sysstat
[ ${HISTORY} -gt 25 ] && HISTORY=25
S_TIME_FORMAT=ISO ; export S_TIME_FORMAT
umask 0022
DATE=`date +%d`
RPT=/var/log/sa/sar${DATE}
ENDIR=/usr/bin
DFILE=/var/log/sa/sa${DATE}
[ -f "$DFILE" ] || exit 0
cd ${ENDIR}
${ENDIR}/sar $* -f ${DFILE} > ${RPT}
find /var/log/sa \( -name 'sar??' -o -name 'sa??' \) -mtime +"${HISTORY}" -exec rm -f {} \;
這僅設定了 7 天的歷史記錄。我想我的問題是:有沒有辦法使用 sar 獲取過去 2 個月的 CPU 統計信息,或者有更好的方法嗎?在我看來,我可能只能存取過去 7 天的統計數據。
答案1
如果您更改為 HISTORY=60,那麼它應該大約保留 2 個月的時間。