sar
命令是 linux 系统中的一个系统监控工具,由 sysstat
包提供。它可以定期收集系统的各种性能数据,包括cpu利用率、内存使用情况、磁盘i/o活动、网络流量等,并可以将这些数据保存到日志文件中供以后分析。
sar功能和特点
- 多种资源监控:
sar
可以监控cpu、内存、磁盘i/o、网络、交换分区等多个系统资源。 - 定时采集:
sar
能够按设定的时间间隔自动采集系统性能数据。 - 历史记录:
sar
将采集的数据保存到日志文件中,可以随时查看历史记录。 - 图表展示:结合
ksar
等工具,sar
数据可以生成图表,方便分析。
安装 sysstat 包
sysstat
包包含了 sar
命令及其他系统性能监控工具。不同的linux发行版有不同的安装方法。
在 debian/ubuntu 系统上安装
sudo apt-get update sudo apt-get install sysstat
在 rhel/centos 系统上安装
sudo yum install sysstat
安装完成后,需要启用并启动 sysstat
服务:
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 命令收集数据
sar
命令可以在命令行直接使用,也可以通过 cron
定时任务自动执行。
直接使用 sar 命令
# 显示当前系统的cpu利用率 sar # 显示5秒间隔的cpu利用率,显示3次 sar -u 5 3
使用 cron 定时任务
编辑 /etc/cron.d/sysstat
文件,可以设置 sar
的定时任务。例如,每10分钟采集一次数据:
# activity reports every 10 minutes everyday */10 * * * * root /usr/lib/sysstat/sa1 1 1
分析 sar 输出
sar
命令输出的数据通常按资源类别分类,例如cpu利用率、内存使用情况、磁盘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
:用户进程的cpu时间百分比。%system
:内核进程的cpu时间百分比。%iowait
:等待i/o操作的时间百分比。%idle
:空闲时间百分比。
内存使用情况
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
:空闲内存(以kb为单位)。kbmemused
:已用内存(以kb为单位)。%memused
:已用内存的百分比。kbbuffers
:内核缓冲区(以kb为单位)。kbcached
:缓存(以kb为单位)。kbcommit
:承诺的内存(以kb为单位)。%commit
:承诺的内存占物理内存的百分比。
使用 sar 进行性能调优
通过对 sar
输出数据的分析,可以找出系统性能瓶颈,并进行相应的优化。
如果 %user
或 %system
持续高于80%,说明cpu负载较重,可以考虑以下措施:
- 优化应用程序,减少cpu占用。
- 增加cpu核心数量。
- 使用负载均衡将任务分散到其他服务器。
如果 kbmemfree
持续较低,kbcommit
持续较高,说明内存不足,可以考虑以下措施:
增加物理内存。优化应用程序,减少内存占用。检查是否有内存泄漏。
如果 %iowait
持续较高,说明i/o性能成为瓶颈,可以考虑以下措施:
- 升级磁盘系统(如使用ssd)。
- 优化i/o密集型应用程序。
- 增加i/o带宽。
以上就是linux使用sar命令跟踪和记录系统资源利用率的详细内容,更多关于linux sar跟踪记录利用率的资料请关注代码网其它相关文章!
发表评论