Linux使用sar命令跟蹤和記錄系統(tǒng)資源利用率
sar 命令是 Linux 系統(tǒng)中的一個系統(tǒng)監(jiān)控工具,由 sysstat 包提供。它可以定期收集系統(tǒng)的各種性能數(shù)據(jù),包括CPU利用率、內(nèi)存使用情況、磁盤I/O活動、網(wǎng)絡(luò)流量等,并可以將這些數(shù)據(jù)保存到日志文件中供以后分析。
sar功能和特點
- 多種資源監(jiān)控:
sar可以監(jiān)控CPU、內(nèi)存、磁盤I/O、網(wǎng)絡(luò)、交換分區(qū)等多個系統(tǒng)資源。 - 定時采集:
sar能夠按設(shè)定的時間間隔自動采集系統(tǒng)性能數(shù)據(jù)。 - 歷史記錄:
sar將采集的數(shù)據(jù)保存到日志文件中,可以隨時查看歷史記錄。 - 圖表展示:結(jié)合
ksar等工具,sar數(shù)據(jù)可以生成圖表,方便分析。
安裝 sysstat 包
sysstat 包包含了 sar 命令及其他系統(tǒng)性能監(jiān)控工具。不同的Linux發(fā)行版有不同的安裝方法。
在 Debian/Ubuntu 系統(tǒng)上安裝
sudo apt-get update sudo apt-get install sysstat

在 RHEL/CentOS 系統(tǒng)上安裝
sudo yum install sysstat
安裝完成后,需要啟用并啟動 sysstat 服務(wù):
sudo systemctl enable sysstat sudo systemctl start sysstat

配置 sar 命令
sar 的配置文件通常位于 /etc/sysstat/sysstat 或 /etc/default/sysstat,可以通過編輯該文件來配置 sar 的行為。
# sysstat configuration file. # How long to keep log files (in days). # If value is greater than 28, it is also used to determine how long # data are kept in a file (in months). 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). # By default contains the interval between two groups of samples and the # number of samples to be collected. If not specified, the default values # are 10 minutes and 1 respectively. SADC_OPTIONS="-S DISK" # Directory where the sa and sar files are saved. # The default is /var/log/sysstat. SA_DIR=/var/log/sysstat
使用 sar 命令收集數(shù)據(jù)
sar 命令可以在命令行直接使用,也可以通過 cron 定時任務(wù)自動執(zhí)行。
直接使用 sar 命令
# 顯示當(dāng)前系統(tǒng)的CPU利用率 sar # 顯示5秒間隔的CPU利用率,顯示3次 sar -u 5 3
使用 cron 定時任務(wù)
編輯 /etc/cron.d/sysstat 文件,可以設(shè)置 sar 的定時任務(wù)。例如,每10分鐘采集一次數(shù)據(jù):
# Activity reports every 10 minutes everyday */10 * * * * root /usr/lib/sysstat/sa1 1 1
分析 sar 輸出
sar 命令輸出的數(shù)據(jù)通常按資源類別分類,例如CPU利用率、內(nèi)存使用情況、磁盤I/O活動等。
CPU利用率
sar -u
輸出示例:
11:00:01 AM CPU %user %nice %system %iowait %steal %idle 11:10:01 AM all 0.27 0.00 0.23 0.04 0.00 99.46
%user:用戶進(jìn)程的CPU時間百分比。%system:內(nèi)核進(jìn)程的CPU時間百分比。%iowait:等待I/O操作的時間百分比。%idle:空閑時間百分比。
內(nèi)存使用情況
sar -r
輸出示例:
11:00:01 AM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit 11:10:01 AM 102400 8096000 98.75 10000 200000 4200000 60.00
kbmemfree:空閑內(nèi)存(以KB為單位)。kbmemused:已用內(nèi)存(以KB為單位)。%memused:已用內(nèi)存的百分比。kbbuffers:內(nèi)核緩沖區(qū)(以KB為單位)。kbcached:緩存(以KB為單位)。kbcommit:承諾的內(nèi)存(以KB為單位)。%commit:承諾的內(nèi)存占物理內(nèi)存的百分比。
使用 sar 進(jìn)行性能調(diào)優(yōu)
通過對 sar 輸出數(shù)據(jù)的分析,可以找出系統(tǒng)性能瓶頸,并進(jìn)行相應(yīng)的優(yōu)化。
如果 %user 或 %system 持續(xù)高于80%,說明CPU負(fù)載較重,可以考慮以下措施:
- 優(yōu)化應(yīng)用程序,減少CPU占用。
- 增加CPU核心數(shù)量。
- 使用負(fù)載均衡將任務(wù)分散到其他服務(wù)器。
如果 kbmemfree 持續(xù)較低,kbcommit 持續(xù)較高,說明內(nèi)存不足,可以考慮以下措施:
增加物理內(nèi)存。優(yōu)化應(yīng)用程序,減少內(nèi)存占用。檢查是否有內(nèi)存泄漏。
如果 %iowait 持續(xù)較高,說明I/O性能成為瓶頸,可以考慮以下措施:
- 升級磁盤系統(tǒng)(如使用SSD)。
- 優(yōu)化I/O密集型應(yīng)用程序。
- 增加I/O帶寬。
以上就是Linux使用sar命令跟蹤和記錄系統(tǒng)資源利用率的詳細(xì)內(nèi)容,更多關(guān)于Linux sar跟蹤記錄利用率的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Linux命令之jq命令處理JSON數(shù)據(jù)方式
jq是一個強(qiáng)大的命令行JSON處理器,支持過濾、映射、轉(zhuǎn)換等操作,它可以與管道結(jié)合使用,處理復(fù)雜的JSON數(shù)據(jù),JSON是一種輕量級的數(shù)據(jù)交換格式,支持對象、數(shù)組、字符串、數(shù)字等數(shù)據(jù)類型,jq通過命令行選項和過濾器來操作JSON數(shù)據(jù),提供豐富的功能和靈活的語法2025-11-11
Linux上讀取或設(shè)置環(huán)境和shell變量的教程
當(dāng)通過 shell 會話與服務(wù)器交互時,有許多信息會被 shell 編譯以確定其行為和對資源的訪問,其中一些設(shè)置包含在配置設(shè)置中,而其他一些則由用戶輸入確定,在本指南中,我們將討論如何與環(huán)境進(jìn)行交互,并通過配置文件以及交互方式讀取或設(shè)置環(huán)境和 shell 變量2024-10-10
linux系統(tǒng)下oracle11gR2靜默安裝的經(jīng)驗分享
這篇文章主要介紹了linux系統(tǒng)下oracle11gR2靜默安裝的經(jīng)驗, 所有操作無需使用圖形界面. 靜默安裝能減少安裝出錯的可能性, 也能大大加快安裝速度。有需要的朋友可以參考借鑒,下面來一起看看吧。2017-01-01

