Linux中的top,free等命令不能完全满足我们性能数据收集的要求,我们需要一个更加强大的工具来收集性能数据。
经过考察和对比,发现 Sysstat是一个非常强大的工具,因此下载了试了下,效果不错。Sysstat是一个工具集,
包括sar、pidstat、iostat、mpstat、sadf、sadc。 其中sar是其中最强大,也是最能符合我们测试要求的工具,
同时pidstat也是非常有用的东东,因此本文结合性能测试重点介绍这两个工具。
Sysstat的安装
从http://pagesperso-orange.fr/sebastien.godard/download.html下载最新版本,解压, 安装
wget http://pagesperso-orange.fr/sebastien.godard/sysstat-9.1.7.tar.gz
tar zxvf sysstat - 8.1 . 2 .tar.gz
cd sysstat - 8.1 . 2
. / configure
make
su
<enter root password >
make install
监视某个进程
通过ps命令找到相应进程的PID:
ps - e
使用pidstat命令监视进程
pidstat 2 5 // 每隔2秒,显示5次,所有活动进程的CPU 使用情况
pidstat - p 3132 2 5 // 每隔2秒,显示5次,PID为1643的进程的CPU使用情况显示
pidstat - p 3132 2 5 - r // 每隔2秒,显示5次,PID为1643的进程的内存使用情况显示
pidstat命令没有保存性能数据的功能。
查看性能数据
sar是最强大的了,通过sar几乎可以监视所有的性能数据,同时,sar还支持将性能数据保存起来。
sar 2 5 // 每隔2秒,显示5次,CPU使用的情况
sar - r 2 5 // 每隔2秒,显示5次,内存使用的情况
sar - n DEV 2 5 // 每隔2秒,显示5次,网络吞吐量情况
sar 1 10 > data.txt // 每隔1秒,写入10次,把CPU使用数据保存到data.txt文件中。
sar 1 0 - e 15 : 00 : 00 > data.txt// 每隔1秒记录CPU的使用情况,直到15点,数据将保存到data.txt文件中。
(-e 参数表示结束时间,注意时间格式: 必须为 hh:mm:ss格式)
sar 1 0 - r - e 15 : 00 : 00 > data.txt // 每隔1秒记录内存使用情况,直到15点,数据将保存到data.txt文件中。
sar 1 0 - n DEV - e 15 : 00 : 00 > data.txt // 每隔1秒记录网络使用情况,直到15点,数据将保存到data.txt文件中。
保存为二进制文件
由于保存的二进制文件只有sar通过-f参数才能打开,不利于我们分 析和统计数据,因此不推荐使用这个方法。
保存二进制文件的参数是-o,如:
sar 1 5 - r - o data
// 每隔1秒,写入5次,将内存使用的数据写入二进制文件data中。
sar - f data
// 查看data文件
Sar能工作,/proc目录必须被mount上来
|
|
|
CPU
|
-u
-P
|
|
内存
|
-r
-R
|
|
Block device情况
|
-d
|
|
I/O
|
-b
|
|
页交换情况
|
-B
|
|
进程
|
-c
|
|
网络
|
-n
|
|
机器负载
|
-q
|
|
Swap
|
-W
|
|
|
|
|
全部的信息
|
-A
|
|
CPU使用率 – 缺省
Report CPU utilization
|
-u
|
%user: Percentage of CPU utilization that occurred while exe cuting at the user level (application).
%nice:at the user level with nice priority
%system:at the system level (kernel).
%iowait:Percentage of time that the CPU or CPUs were idle during which the system had an outstanding disk I/O request
%idle: Percentage of time that the CPU or CPUs were idle and the system did not have an outstanding disk I/O request
|
CPU情况
|
-P cpu | ALL
|
统计单个或多个cpu的情况
ALL:再加上整体统计情况
-u 和–I SUM 2个参数跟着-P有意义。
|
|
|
|
内存使用率
Report memory and swap space utilization statistics
|
-r
|
所有的数量单位: kbytes
Kbmemfree、Kbmemused、%memused:
内存空闲、使用了,使用的%
Kbbuffers:内核当作buffer使用的内存
Kbcached::内核当作cache data使用的内存
Kbswpfree、Kbswpused、%swpused
Swap使用的3个值
Kbswpcad:缓存的swap空间。这个意思是:内存被swap out,又立即swap back in,但是还存在swap中,(如果memory需要,memory不需要再次swap out了,它在swap已经存在,节省了I/O)
|
内存使用统计
Report memory statistics
|
-R
|
frmpg/s:系统释放的内存页数量,如果是负数表示被系统分配的数量。内存页时4k或8k和系统架构有关。
bufpg/s:系统用作buffer的增量内存页
campg/s:系统用作cache的增量内存页
|
|
|
|
I/O和传输统计
I/O and tranfer statistics
|
-b
只在Kernal2.5以前的版本中才有效
|
Tps:物理磁盘每秒总的传输量。多个逻辑的请求可能被合并成一个单独的磁盘请求。
Rtps:读的请求
Wtps:写的请求
Bread/s:每秒从磁盘读的块数
Wread/s:每秒写的块数
|
页的统计消息
Paging statistics
|
-B
|
Pgpgin/s: 每秒磁盘page in的数量(kbytes)
Pgpgout/s:每秒磁盘page out的量(kbytes)
Fault/s:系统每秒page faults(major+minor)的数量(2.5以上kernal)
majflt/s:系统每秒产生的major faults数量(2.5以上kernel)
|
进程
Process creation
|
-c
|
Proc/s:每秒产生的进程数量
|
Block device性能
|
-d
|
2.4或以上版本有
Devm-n: m:device的major number
n: device的 minor number(kernal 2.5)
tps: 设备的每秒传输量
rd_sec/s:设备的读的扇区数量(512k/sector)
wr_sec/s : 设备写的扇区数量(512k/sector)
|
采用文件
|
-f : 从。。读
-o: 写入。。。
|
从文件中获取数据(由-o产生的文件)
缺省值是current daily data file(/var/log/sa/sadd)
-f排斥-o参数
|
改变间隔时间
|
-i interval
|
单位是秒
|
网络情况
|
-n
-n DEV | EDEV | SOCK | FULL
|
DEV参数:
Network devices 的统计信息被报告
IFACE:设备名字
rxpck/s:每秒收到的包(package)
txpck/s:每秒传输的包
rxbyt/s:每秒收到的字节
txbyt/s:每秒传输的字节
rxcmp/s:每秒收到的压缩包(如cslip..)
txcmp/s:
rxmcst/s: 每秒收到的广播包
|
EDEV:
错误的统计信息
rxerr/s, txerr/s
coll/s: 传输过程中遇到的冲突包
rxdrop/s, txdrop/s:由于缺少Linux缓存区,被丢弃的接收/传输包
txcarr/s: 传输包时候遇到的carrier-errors数量
rxfram/s:接收frame对列错误数量
rxfifo/s:接收FIFO overrun错误数量
txfifo/s:传输的FIFO overrun错误数量
|
SOCK:
使用中的socket统计
Totsck: 使用中的socket
Tcpsck: tcp socket
Udpsck:
Rawsck:
ip-frag: Number of IP fragments currently in use.
|
机器负载
Report queue length and load averages
|
-q
|
runq-sz:运行的队列长度(number of processes waiting for run time)
plist-sz: (Number of processes in the process list)
ldavg-1、ldavg-5、ldavg-15:
1、5、15分钟平均负载
|
|
|
|
文件
Report status of inode, file and other kernel tables
|
-v
|
Dentunusd:Number of unused cache entries in the directory cache file-sz:Number of used file handles
inode-sz:Number of used file handles
super-sz、%super-sz: Number of super block handlers allocated by the kerne。(regard to the maximum number of super block handlers that Linux can allocate)
dquot-sz、%dquot-sz:Number of allocated disk quota entries (regard to the maximum number of cached disk quota entries that can be allocated)
rtsig-sz、%rtsig-sz:Number of queued RT signals.(regard to the maxi mum number of RT signals that can be queued)
|
Report system switching activity
|
-w
|
cswch/s:Total number of context switches per second.
|
Swap:
Report swapping statistics
|
-W
|
pswpin/s: Total number of swap pages the system brought in per second
pswpout/s:Total number of swap pages the system brought out per second
|
|
|
|
Process相关
|
-x
-X
|
|
|
|
|
|
|
|
改变格式
|
-h
-H
|
|
设定时间
|
-e hh:mm:ss:结束时间
-s 开始时间
|
设置报告的截止时间。缺省的截止时间是18:00:00, 给出的时间必须24小时制。
这个参数只有当数据从文件中读写时候才有效(-f / -o 参数)。
如果同时使用-h参数,给出的时间是UTC时间
|
分享到:
相关推荐
【nmon】Linux服务器性能监控工具详解 在Linux操作系统中,性能监控是系统管理员不可或缺的任务,以便及时发现和解决问题,确保服务的稳定性和效率。【nmon】(Nigel's Monitoring Tool for AIX and Linux)是一款...
【基于SystemTap的Linux服务器性能分析系统的设计与实现】 SystemTap是Linux环境下的一款动态追踪工具,它允许开发者在不修改内核的情况下,收集和分析系统运行时的数据,从而进行性能优化和故障排查。该工具提供了...
Linux服务器性能测试分析是指利用一系列的Linux命令和工具来评估和优化服务器运行状态,从而确保服务器能够高效、稳定地运行。性能测试的主要目的是发现系统的瓶颈并进行相应的调整和优化,提升系统的整体性能。 在...
通过网上收集和对LINUX服务器性能的分析和体验,整理了几个比较实用,功能比较强大的性能测试工具供亲们下载,虽然网络上都对每个工具做了详细的功能介绍和文档说明,但分得很散,所以, 在此本人将各个比较实用的...
使用缓存可以显著提升服务器性能,常见的有本地缓存、分布式缓存(如Redis)等。通过缓存热点数据,减少对数据库或磁盘的访问。 七、并发控制与同步 在多线程环境中,正确地同步数据至关重要,防止数据竞争和死锁。...
综上所述,nmon是一款强大的Linux服务器性能监控工具,其配合Excel分析程序,使得性能监控和故障排查变得更加便捷高效。通过合理使用nmon,运维人员可以更好地管理和维护Linux服务器,保障系统的稳定运行。
- `sar`:系统活动报告,可以收集并分析系统性能数据。 - `iostat`:用于监控磁盘I/O性能。 - `netstat`:查看网络连接、路由表、接口统计等。 - `free`:查看内存使用情况。 - `ps`和`top`:用于监控进程状态...
`WmiService.java`可能是一个使用Java编写的模块,通过WMI接口获取服务器性能数据,如CPU利用率、内存使用等。 2. **Performance Counters**:Windows提供的一种度量系统性能的方法,`PerfService.java`可能负责读取...
LogCollect的CPU日志收集功能可以帮助运维人员优化服务器性能。 最后,磁盘日志记录了文件系统的活动和硬盘健康状况。通过LogCollect,运维人员可以追踪磁盘错误,提前预防数据丢失。 在使用"LogCollect_Linux_V...
Linux服务器性能评估与优化是一个复杂而重要的任务,它涉及到操作系统层面和应用程序级别的多个方面。首先,我们要理解,性能调优并不仅仅是调整内核参数,而是要确保操作系统的各个子系统,如CPU、内存、磁盘I/O...
总的来说,Linux服务器巡检是保证服务连续性、预防故障、提升系统性能和安全性的必要步骤。通过对硬件、软件、性能和安全的全面检查,运维人员可以及时发现并解决潜在问题,从而提高服务器的可靠性和效率。
1. **启动rpc.rstatd服务**:在Linux服务器上,LoadRunner需要依赖rpc.rstatd服务来收集系统资源数据。然而,默认情况下,Red Hat 9可能并未包含这个服务。因此,首先需要确保系统具备rpc.rstatd。 2. **安装rpc....
XMonitor是一款开源的Linux服务器监控工具,它设计用于数据采集和服务器运维。这个工具的强大之处在于它的全面性和灵活性,能够对多种关键系统指标进行监控,包括HTTP服务状态、系统进程、MySQL数据库健康状况、TCP...
在Linux服务器环境中,我们可以利用以下几种技术来实现线程同步: 1. 互斥量(Mutex):互斥量用于保护共享资源,一次只允许一个线程访问。通过`pthread_mutex_lock()`和`pthread_mutex_unlock()`函数实现锁定和...
9. **监控与日志管理**:了解如何使用syslog收集和分析日志,以及使用工具如top、htop、iftop、nmon进行性能监控。 10. **自动化脚本**:bash脚本编写能力是Linux服务器管理的重要部分,可以实现日常任务的自动化。...
在性能测试方面,作者采用了Linux虚拟服务器,收集并计算了相关性能数据。使用Automod软件进行仿真模拟,以发现系统的最大处理能力。这种方法可以帮助评估服务器在不同工作负载下的表现,为系统设计和升级提供依据。...
DevOps环境下Linux服务器运维涉及多个方面,包括但不限于故障排除、日常维护、安全性保障以及性能优化等。通过实施上述最佳实践措施,可以有效提升系统的稳定性和可靠性,为业务发展提供坚实的技术支持。当然,随着...
以下是对"linux服务器版虚拟安装--精华内容收集"这个主题的详细解析。 1. **Linux操作系统**: Linux是一种开源操作系统,基于Unix,由全世界的开发者共同维护和改进。它提供强大的服务器功能,如网络服务、数据库...