sar命令用于收集、报告或保存UNIX/Linux系统活动信息。它将选定的计数器保存到操作系统的/var/log/sa/sadd文件中。从收集到的数据中,您可以获得有关您的服务器的大量信息:CPU使用率内存页面和使用率网络I/O和传输统计进程创建活动所有块设备活动每秒中断数等sar命令的输出可以使用识别服务器瓶颈。但是,很难分析sar命令提供的信息,因此请使用kSar工具。kSar工具根据时间段在易于理解的图形中绘制sar命令的输出。sysstat包sar、sa1和sa2命令都是sysstat包的一部分。它是Linux附带的性能监控工具的集合。sar:显示数据sa1和sa2:收集并保存数据供以后分析。sa2shell脚本将每日报告写入/var/log/sa目录。sa1shell脚本将每日系统活动信息作为二进制数据写入文件。sadc-系统活动数据收集器。您可以通过修改sa1和sa2脚本来配置各种选项。它们位于以下目录中:/usr/lib64/sa/sa1(64位)或/usr/lib/sa/sa1(32位)-调用sadc将报告记录到/var/log/sa/sadX格式。/usr/lib64/sa/sa2(64位)或/usr/lib/sa/sa2(32位)-它调用sar将报告记录为/var/log/sa/sarX格式。如何在我的系统上安装sar?在基于CentOS/RHEL的系统上,输入以下yum命令来安装sysstat:cs.vt.edu*base:mirror.ash.fastserv.com*epel:serverbeach1.fedoraproject.org*extras:mirror.cogentco.com*updates:centos.mirror.nac.net0由于存储库保护而排除的软件包设置安装ProcessResolvingDependencies-->运行事务检查--->Packagesysstat.x86_640:7.0.2-3.el5settobeupdated-->FinishedDependencyResolutionDependenciesResolved====================================================================包Arch版本存储库大小=========================================================================安装:sysstatx86_647.0.2-3.el5base173kTransactionSummary====================================================================安装1个包更新0个包删除0个包总下载大小:173kIsthisok[y/N]:yDownloadingPackages:sysstatstat配置文件编辑/etc/sysconfig/sysstat文件以指定日志文件保留多少天(最多一个月):#vi/etc/sysconfig/sysstat示例输出如下:#keeplogfor28days#默认是7HISTORY=28保存并关闭这个文件查找sar的默认cron作业默认cron作业位于/etc/cron.d/sysstat:#cat/etc/cron.d/sysstat示例输出如下:#runsystemactivityaccountingtoolevery10minutes*/10****root/usr/lib64/sa/sa111#在23:5353生成进程记帐的每日摘要23***root/usr/lib64/sa/sa2-A告诉sadc使用报告磁盘统计信息文本编辑器要编辑/etc/cron.d/sysstat文件,例如使用vim命令,输入以下内容:#vi/etc/cron.d/sysstat像下面的示例一样更新此文件以记录所有硬盘统计信息(-d选项强制记录每个块设备的统计信息,-I选项强制记录所有系统中断的统计信息):#每10分钟运行一次系统活动统计工具*/10****root/usr/lib64/sa/sa1-I-d11#在23:535323***root/usr/lib64/sa/sa2-A在CentOS/RHEL7.x系统上需要通过-SDISK收集块设备数据的选项。通过-SXALL选项收集下面列出的数据:DiskPartitionSystemInterruptSNMPIPv6#Runsystemactivityaccountingtoolevery10minutes*/10****root/usr/lib64/sa/sa1-SDISK11#0****root/usr/lib64/sa/sa16006在23:5353生成进程记帐的每日摘要23***root/usr/lib64/sa/sa2-A#每10运行一次系统活动记帐工具分钟保存并关闭文件。启用CentOS/RHEL5.x/6.x版本的服务,输入以下命令:chkconfigsysstatonservicesysstatstart示例输出如下:调用系统活动数据收集器(sadc):对于CentOS/RHEL7.x,运行以下命令:#systemctlenablesysstat#systemctlstartsysstat.service#systemctlstatussysstat.service示例输出:sysstat.service-重置系统活动日志已加载:已加载(/usr/lib/systemd/system/sysstat.service;已启用;供应商预设:已启用)活动:活动(退出)自星期六2018-01-0616:33:19IST;3秒前进程:28297ExecStart=/usr/lib64/sa/sa1--boot(code=exited,status=0/SUCCESS)MainPID:28297(code=exited,status=0/SUCCESS)Jan0616:33:19centos7-boxsystemd[1]:开始重置系统活动日志...Jan0616:33:19centos7-boxsystemd[1]:开始重置系统活动日志。sar怎么用?如何查看统计信息?使用sar命令显示操作系统中选定的累积活动计数器输出。在此示例中,运行sar命令行以获取实时CPU使用率报告:#sar-u310示例输出:Linux2.6.18-164.2.1.el5(www-03.nixcraft.in)12/14/200909:49:47PMCPU%user%nice%system%iowait%steal%idle09:49:50PMall5.660.001.220.040.0093.0809:49:53PMall12.290.001.930.040.00PM85.9all:79.300.001.610.000.0089.1009:49:59pm全部10.860.001.510.040.0087.5809:50:02PM全部14.210.003.270.040.040.0082.4709:50:50:50:50:050.000.0085.2509:50:11PMall7.250.001.550.040.0091.1509:50:14PMall6.610.001.090.000.0092.3109:50:17PMall5.710.000.960.000.0093.33Average:all9.240.691.840.030.0088.20其中:3表示间隔时间10表示次数查看进程创建的统计数据,输入:#sar-c310查看I/O和传输率统计,输入:#sar-b310查看内存页统计,输入:#sar-B310查看block设备统计信息,输入:#sar-d310要查看所有中断的统计信息,请输入:#sar-IXALL310要查看网络设备特定的统计信息,请输入:#sar-nDEV310#sar-nEDEV310要查看特定于CPU的统计信息,请输入:#sar-PALL#Only1stCPUstats#sar-P1310要查看有关队列长度和平均负载的统计信息,请输入:#sar-q310要查看内存和交换空间使用统计信息,请输入:#sar-r310#sar-R310要查看索引节点、文件和其他信息内核表统计状态,输入:#sar-v310查看系统切换活动统计,输入:#sar-w310查看交换统计,输入:#sar-W310查看一个PID为3256的Apache进程,输入:#sar-x3256310kSar简介sar和sadf提供了一个基于命令行界面的输出,对于新手用户/系统管理员来说可能会不知所措。因此,您需要使用kSar,这是一个以图形方式显示sar数据的Java应用程序。它还允许您以PDF/JPG/PNG/CSV格式导出数据。您可以通过三种方式加载数据:本地文件、运行本地命令和通过SSH远程运行命令。kSar可以处理以下操作系统的sar输出:Solaris8、9和10MacOS/X10.4+Linux(Systat版本>=5.0.5)AIX(4.3和5.3)HPUX11.00+要下载和安装kSar,请访问官方网站获取***版源代码。使用wget下载源码,输入:$wgethttps://github.com/vlsi/ksar/releases/download/v5.2.4-snapshot-652bf16/ksar-5.2.4-SNAPSHOT-all.jar如何运行克萨尔?首先,确保您的机器上安装了JAVAjdk并且可以正常工作。键入以下命令启动kSar:$java-jarksar-5.2.4-SNAPSHOT-all.jarkSar欢迎屏幕接下来您将看到kSar主窗口和一个带有两个菜单的面板。kSar-主窗口左侧有一个列表,是kSar根据数据解析出来的可用图表列表。右侧窗口将显示您选择的图表。如何使用kSar生成sar图表?首先,您需要从名为server1的服务器收集sar命令的统计信息。输入以下命令:[server1]#LC_ALL=Csar-A>/tmp/sar.data.txt接下来,使用scp命令从本地桌面复制到远程计算机:[desktop]$scpuser@server1。尼克斯工艺品。com:/tmp/sar.data.txt/tmp/切换到kSar窗口,单击“数据”>“从文本文件加载数据”>从/tmp/选择sar.data.txt>单击“打开”按钮。现在,图表类型树已出现在左侧面板中,并选择了图表:LinuxkSarProcessesforserver1LinuxDiskI/OStatsUsingkSarLinuxMemorypaginganditsutilizationstatsZoominandout通过移动您可以交互式地缩放图像部分。在要放大的图像左上角单击并按住鼠标,移动到要放大的区域的右下角,选择要放大的区域。要返回未缩放状态,单击并拖动鼠标在除右下角以外的任何位置,您也可以单击并选择缩放选项。要了解kSar图像和sar数据,我强烈建议您阅读sar和sadf命令的手册页:$mansar$mansadf案例研究:识别Linux服务器的CPU瓶颈使用sar命令和kSar工具来获取内存、CPU和其他子系统的详细快照。例如,如果CPU使用率长时间持续高于80%,则可能存在CPU瓶颈。使用sar-xALL您可以找到消耗大量CPU的进程。mpstat命令(sysstat包的一部分)的输出也将帮助您了解CPU使用情况。但是您可以使用kSar轻松分析此信息。一旦确定了CPU瓶颈...请进行以下CPU调整:确保没有不需要的进程在后台运行。关闭Linux上所有不需要的服务。使用cron在非高峰时段运行任务(例如备份)。使用top和ps命令查找所有非关键后台作业/服务。使用renice命令调整低优先级作业。使用taskset命令设置进程使用的CPU(offloadtheCPUused),即将进程绑定到不同的CPU上。比如在2#CPU上运行MySQL数据库,在3#CPU上运行Apache。确保您的系统使用最新的驱动程序和固件。如果可能,向系统添加额外的CPU。为单线程应用程序(例如,LighttpdWeb服务器应用程序)使用更快的CPU。将多个CPU用于多线程应用程序(例如,MySQL数据库服务器应用程序)。使用多个计算节点并为Web应用程序设置负载平衡器。isag-交互式系统活动记录器(替代工具)isag命令以图形方式显示存储在二进制文件中的系统活动数据,该数据来自以前运行的sar命令。isag命令引用sar并提取其数据以作图。与kSar相比,isag的选项更少。图06:isagCPU利用率图
