在企业应用中,除了经常会用到企业级的性能监控和告警工具(如nagios、zabbix),还会在服务器设备出现性能问题时,可以通过部署一些可以进行性能回溯和追踪的性能分析工具,便于在主机hang死或挂机时,定位主机各项指标是否过载,也可以定位到具体是哪些程序引发了性能瓶颈。
运维人员一般接触到性能分析工具非常多,win平台下的有perfmon、java下的jprofile、系统下的sysstat工具包、nmon、top、htop、atop、iftop、iotop…… ,如果我们想列,这个名单还可以更长。不过大部分工具都是即时查看的,如果想要对历史数据进行存储,就需要配合脚本进行数据处理。不过显然很多运维前辈们肯定也想到了此问题,这里我选择了几个可以进行性能回溯的工具---sysstat、atop、oswatch、nmon。
sysstat在安装完后,会在/etc/init.d下存在一个服务进程sysstat(其目前也已经支持systemd方式的init管理,配置文件为/usr/lib/systemd/system/sysstat.service),该服务会结合crontab 默认每十分钟取一次数据进行保存。atop工具同htop工具一样,是top的一个"升级版",atop工具安装完后也会在/etc/init.d目录下生成一个atop的服务,同样是结合crontab进行数据的存取。
一、sysstat
sysstat在/etc/init.d的服务名为boot.sysstat,其默认启动时,会将/etc/sysstat/sysstat.cron软链接到/etc/cron.d/sysstat 。
sysstat配置相关:
- 361way:/etc/sysstat # ll
- total 16
- -rw-r--r--1 root root 424Jan292014 sysstat
- -rw-r--r--1 root root 263Jan292014 sysstat.cron
- -rw-r--r--1 root root 6228Jan292014 sysstat.ioconf
- 361way:/etc/sysstat # cat sysstat.cron
- # crontab for sysstat
- # Activity reports every 10 minutes everyday
- */10**** root [-x /usr/lib64/sa/sa1 ]&& exec /usr/lib64/sa/sa1 -S ALL 11
- # Update reports every 6 hours
- 555,11,17,23*** root [-x /usr/lib64/sa/sa2 ]&& exec /usr/lib64/sa/sa2 -A
默认情况下数据保存60天,当前日期10天之前的数据文件会进行压缩保存:
- 361way:/etc/sysstat # more sysstat
- # sysstat-10.0.5 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=60
- # 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=""
默认数据文件存储在/var/log/sa目录
- 361way:/var/log/sa # ll
- total 4
- drwxr-xr-x 2 root root 4096Sep421:16201409
- lrwxrwxrwx 1 root root 11Sep423:30 sa04 ->201409/sa04
使用时,可以使用sar -f datafile读取之前收集的数据。sysstat的更多信息,可以参看博文:http://www.361way.com/use-sysstat/1521.html
二、atop
atop工具,类似于将top的结果定期的取值,并存放到一个数据文件中,事后可以通过分析该文件,还原问题时间点的各进程的资源使用信息,atop的详细用法可以参看我的博客:Linux atop监控工具部署
三、OSWatch
OSWatch工具是由 oracle 搞出来的一个性能监控工具,不过其需要依赖sysstat这样的工具包里的工具,其调用的命令有iostat、ps、top、vmstat、tracert 等,通过简单的脚本,以定期间隔将数据保留在相应的目录文件中,也可以指定参数,保证其保留最近多长时间的文件。为了便于汇图,在该工具包中还提供了一个 jar文件,通过该jar文件可以方便的将收集到的数据以图示的形式展示出来。具体可以参看我的博文:OSWatch安装与使用
四、nmon
nmon是ibm 搞出的一个性能分析工具,默认可以实时查看,也可以通过crontab配合实现以一定的时间间隔将每天的数据保留在相应的文件内,一般会选择以csv 的格式存放,因为官方提供了一个工具,通过excel 的宏功能,可以轻松的实现数据的绘图,从其收集的数据来看,大多是通过获取/proc/下的文件,经过简单的处理后,存在一个文件中。具体可以参看我的博文:AIX/linux下的性能监控工具—nmon
五、总结
1、sysstat 服务获得的数据反映的是系统的整体性能情况,sysstat的数据文件通过sar命令读取的结果较人性化,易理解;
2、而atop工具,可以细化到每个进程的性能数据,atop的分析结果比较接近动态,类似于直接执行 top一样,可以按 cpu、内存情况进行排序,又可以正则匹配 。而 atopsar 更类似于sar 工具输出的结果 。
3、OSWatch工具是在sysstat、ps、top等常用工具的基础上,又以shell 脚本的方式进行了二次开发和封装,当然输出结果比较人性化 ,安装 tar包解压后即可使用,可以将可执行程序和结果存放在任一位置 。也支持通过调用gzip命令对输出内容进行压缩。
4、nmon工具输出的结果感觉比较乱(非实时模式),通过查看其输出文件处理比较不方便,不过取出数据后,结合excel 出图这个比较人性化,对于技能要求比较低,任何人取下来数据,点下excel 里的宏按钮即可生成漂亮的走势图。
所以在遇到对系统问题进行定位和分析时,可以结合起来用。从现网使用的经验来看,以上工具占用系统都不多 。一般公司比较重要的节点上,除部署zabbix、nagios这类的工具外,还可以再部署oswatch、atop两个工具,便于出现问题后结合分析。可以利用前者查看趋势图情况、利用后者进行文本数据对比。
文献出自:http://www.361way.com/breakdown-snapshot/3722.html
相关推荐
**nmon工具详解:Linux系统资源的高效监测** 在Linux操作系统中,监控系统资源的运行状态对于维护系统稳定性和优化性能至关重要。nmon(Nigel's Performance Monitor)是一款功能强大的命令行工具,专为Linux系统...
2、Linux性能测试工具Lmbench:Linux性能测试工具Lmbench是一套简易可移植的,符合ANSI/C标准为UNIX/POSIX而制定的微型测评工具。一般来说,它衡量两个关键特征:反应时间和带宽。Lmbench旨在使系统开发者深入了解...
本篇学习笔记详细介绍了性能分析的步骤、优化工具、性能指标的概念,并且从应用负载和系统资源两个角度深入探讨了性能优化。 在性能分析中,第一步是要选择合适的性能指标来评估应用和系统的性能。常见的性能指标...
### Linux性能调优工具及其应用 #### 一、引言 在现代IT环境中,Linux作为最流行的开源操作系统之一,在服务器领域扮演着极其重要的角色。随着云计算技术的发展,大量的虚拟化和容器技术使得Linux系统在资源管理和...
总结,sysstat是Linux系统监控的强大工具,尤其对于网络资源监控,虽然其自身对网络监控的支持有限,但配合其他工具,可以提供全面的系统性能分析,对于优化系统性能、排查故障具有重要作用。了解和熟练使用sysstat...
`nmon`(Nigel's Performance Monitor)是另一个强大的监控工具,适用于多种Unix和Linux系统,包括AIX。nmon不仅可以提供与topas相似的实时性能数据,还能记录数据到文件,用于后期分析和报告生成。其优点在于用户...
本文将深入探讨基于"Linux性能测试工具"这一主题的相关知识点,包括常见的性能监控工具、调优策略以及系统参数详解。 首先,了解Linux性能测试工具是提升系统效率的基础。`top`命令是最常用的实时系统性能监控工具...
本文将详细介绍Linux系统下一些常用的性能监测工具,它们可以帮助您监控系统状态,诊断性能瓶颈,并提升系统性能。 1、Uptime命令 Uptime是一个简单而又实用的工具,它可以快速显示系统已经运行了多长时间,当前...
《sysstat:Linux系统性能监控利器》 sysstat是一个在Linux操作系统中广泛使用的软件包,其版本号为11.5.6,该软件通过提供一系列强大的监控工具,帮助管理员...因此,sysstat是每一个Linux系统管理员的必备工具之一。
sysstat 是 Linux 系统中的常用工具包。它的主要用途是观察服务负载,比如CPU和内存的占用率、网络的使用率以及磁盘写入和读取速度等。 sysstat 工具包中包含两类工具: • 即时查看工具:iostat、mpstat、sar • ...
Linux Sysstat是一个强大的...综上所述,Linux Sysstat是一个不可或缺的系统监控工具,它提供的各种统计信息对于理解、调试和优化Linux系统的性能至关重要。无论是日常运维还是故障排查,sysstat都能提供有力的支持。
"sysstat-10.0.2" 是一个在Linux环境下用于系统性能监控的重要工具包。这个工具包的版本号是10.0.2,它通常以tar.gz的压缩格式提供,便于用户下载和安装。sysstat是Linux系统管理员的得力助手,能够收集并分析系统的...
总之,sysstat-12.3.2是Linux系统管理员不可或缺的工具,它提供了全面而深入的系统性能监控,有助于提升系统的稳定性和效率。通过持续跟踪和分析sysstat提供的数据,你可以更好地理解和优化你的Linux环境,确保系统...
《sysstat:Linux系统性能监测的强大工具》 sysstat是一个在Linux系统中广泛使用的性能监控工具,它提供了丰富的功能,帮助管理员对系统进行深入的性能分析。标题中的"sysstat-11.7.3.tar.gz"是一个压缩包,包含了...
`sar` 是System Activity Reporter的缩写,它是Linux系统中的一个强大性能监控工具,包含在sysstat软件包之中。sysstat-9.0.6是2010年的一个稳定版本,适用于对Linux系统的性能进行详细分析和监控。在深入探讨sar的...