系统性能监测是 Unix 和 Linux 系统管理员一个重要工做。若是服务器系统性能忽然低于平均应有的状况,问题可能来自在执行的进程、内存的使用率、磁盘的性能、网络流量和 CPU 的压力。在 IT 预算有限的今天,理解如何优化系统性能比以往任什么时候候都重要。一味地硬件投资并非可以让人们接受的办法,而且有时候也不必定生效。一般系统管理员使用一些基础的工具(top、vmstat、mpstat、ps、free)来辨别和处理一些性能问题。ksar 是 sar 的 Java 图形化版本,能够把系统信息如:cpu、内存、网络、I/O 等使用图形化方式体现。并且支持能够监控远程的 Unix 类操做系统(Linux、AIX、Solaris、HPUX)。java
ksar 简介ios
一般系统管理员使用一组命令完成以下任务:uptime 显示系统负载状况,mpstat 显示 CPU 性能,free 显示内存使用状况,vmstat 显示虚拟内存使用状况,iostat 显示系统 I/O 活动,netstat 显示网络的活动,df 和 du 显示磁盘使用状况。还可使用 sar 工具完成以上任务,sar 是 System Activity Reporter(系统活动状况报告)的缩写。这个工具对于能够收集系统性能数据,好比 CPU 使用率、硬盘和网络吞吐数据,经过这些数据的收集和分析,系统管理员能够判断系统是否正常运行,是提升系统运行效率的得力助手。服务器
安装配置 ksar网络
使用 ksar 以前要安装配置好 sar,这个工具也包含于大部分 Linux 发行版本中,在 Redhat Linux 中是 sysstat 软件包。另外您还要配置好 Java JDK 。JDK 版本要求不高,版本高于 1.50 便可。配置完成后,能够运行以下命令检查版本号:数据结构
#java -version 架构
若是版本号超过 1.50 ,就可使用 ksar ssh
# wget http://jaist.dl.sourceforge.net/project/ksar/ksar/5.0.6/ksar-5.0.6.zip ide
# unzip ksar-5.0.6.zip 工具
# cd ksar-5.0.6/ 性能
# sh run.sh

图 1. 第一次运行 ksar 要设置一下目标主机
使用 ksar 分析磁盘 I/O
目前计算机总体的处理器速度、内存大小以及 I/O 执行速度在不断提升,但 I/O 操做的吞吐率和延迟性能仍然要比等价的内存访问操做低多个数量级。另外因为许多工做负荷都拥有重要的 I/O 组件,I/O 处理很容易成为总体吞吐率和应用总体响应时间的重要瓶颈。针对 I/O 操做密集的应用,性能分析人员必须经过工具来获取关于 I/O 子系统操做的信息。系统管理员若是要了解磁盘 I/O信息,能够打开 data 菜单的 Run local command 栏目,而后输入命令:sar -b 3 12,这个命令表示每隔 3 秒报告磁盘使用状况,总共运行 12 秒结果如图 2。图 2 在数据采集结束后给出了统计平均数据。

图 2. 使用 ksar 分析磁盘 I/O
参数说明:
ksar 命令使用 -n 选项能够汇报网络相关信息,可用的参数包括:DEV、EDEV、SOCK 和 FULL。系统管理员若是要了解网络信息,能够打开 data 菜单的 Run local command 栏目而后输入命令:sar -n DEV 1 2 结果如图 3 。

图 3. 使用 ksar 分析网络信息
参数说明:
rxpck/s:每秒钟接收到的包数目
txpck/s:每秒钟发送出去的包数目
rxbyt/s:每秒钟接收到的字节数
txbyt/s:每秒钟发送出去的字节数
rxcmp/s:每秒钟接收到的压缩包数目
txcmp/s:每秒钟发送出去的压缩包数目
txmcst/s:每秒钟接收到的多播包的包数目
系统性能监测对于系统管理员来讲,无疑是一个很是重要的工做,一般系统管理员使用一些基础的工具(top、vmstat、mpstat、ps、free)来辨别和处理一些性能问题,提升系统运行效率。本文介绍的ksar工具能够收集系统性能数据,帮助系统管理员们更好的解决问题。
AD: 2013云计算架构师峰会超低价抢票中
使用 ksar 分析 CPU 信息
系统管理员若是要了解中央处理器的工做信息,能够打开 data 菜单的 Run local command 栏目而后输入命令:sar -P ALL 结果如图 4 。

图 4. 使用 ksar 分析 CPU 信息
参数说明:
工做负荷有可能会耗尽全部可用的内存。所以有必要利用一些工具来监视内存的使用状况,例如每一个进程或线程的内核内存占用量,以及内核数据结构的内存使用机制及其数量和大小。与 CPU 利用状况同样,理解操做系统和各个进程的行为对于跟踪内存短缺所引发的任何性能问题相当重要。系统管理员若是要了解内存信息,能够打开 data 菜单的 Run local command 栏目而后输入命令:sar -r 1 结果如图 5 。

图 5. 使用 ksar 分析内存信息
参数说明:
使用 ksar 分析 NFS 信息
网络文件系统 (Network File System,NFS) 能够将远程机器的文件系统与本地文件系统融合起来,即 NFS 使用与本地相同的读写接口来远程访问数据。系统管理员若是要了解 NFS 信息,能够打开 data 菜单在 Run local command 栏目而后输入命令 :sar -n NFS 1 结果如图 6 。

图 6. 使用 ksar 分析 NFS 信息
参数说明:
call/s: 每秒成功的 RPC 调用都会使 call/s 的值增加,好比对 NFS 的一次读 / 写 。
retrans/s: 每秒重传的 RPC 次数,好比由于服务器的问题,产生 timeout, 这时客户端须要从新传输 。
read/s: 每秒从 NFS 服务端读取的次数。
write/s: 每秒写入到 NFS 服务端的次数。
access/s: 每秒访问 NFS 的次数,好比从 NFS 服务端 COPY 文件。
getatt/s: 每秒获取 NFS 服务端文件属性的次数,好比 ls -l /NFSSERVER/, 若是 NFSSERVER 有 300 个文件,将产生 300 次这样的请求。
用 ksar 了解系统中断
系统管理员若是要了解系统中断的使用状况,能够打开 data 菜单的 Run local command 栏目而后输入命令 : :sar -I ALL 1 结果如图 7。

图 7. 用 ksar 了解系统中断
参数说明:
intr/s 表示每秒的中断次数。
使用 ksar 了解系统内存分页
分页是操做系统中的内存管理机制。经过这种方式计算机能够为主存存取其余存储介质上的数据。系统管理员若是要了解系统内存分页信息,能够打开 data 菜单的 Run local command 栏目,而后输入命令:sar -B 1 结果如图 8 。

图 8. 了解系统内存分页状况
参数说明:
pgpgin/s: 表示每秒从磁盘或 SWAP 置换到内存的字节数 (KB) 。
pgpgout/s: 表示每秒从内存置换到磁盘或 SWAP 的字节数 (KB) 。
fault/s: 每秒钟系统产生的缺页数,即主缺页与次缺页之和 (major + minor) 。
majflt/s: 每秒钟产生的主缺页数。
使用 ksar 了解系统总体全部信息
ksar 提供了一个选项,即 -A,它表明 all,并且仍是大写的,这个 -A 就至关于全部选项了,打开 data 菜单的 Run local command 输入命令:sar – A 结果如图 9。

图 9. 使用 ksar 了解系统全部信息
从图 8 能够看到系统使用状况包括:系统进程、上下文、CPU、中断、I/O 系统、内存使用、链接、系统负载、交换分区、NFS 服务器和客户端性能包括全部重要信息。另外您能够把 ksar 的结果导出为一个文件(文件类型包括 pdf、PNG、JPG、TXT、CVS)。也能够把一个之前获得的监控的结果导入 ksar 进行图形化分析。
设置 ksar 的工做时间段
ksar 也能够查看非实时的数据,它是经过 cron 周期的运行 sysstat 脚本,将数据产生到指定的目录下,例如咱们能够经过“Select time range”菜单选择起始时间段如图 10。

图 10. 选择起始时间段
远程使用 ksar
ksar 支持 SSH 链接,您可使用它远程监控其余 Linux 或其余 Unix 类型的主机。首先要设置本地主机和远程主机之间能够经过自动 SSH 自动登陆,而后打开 data 菜单的 Lanuch ssh command 输入命令 :ssh goodcjh1@192.168.110.1如图 11 。

图 11.ksar 支持 SSH 链接
总结
本文介绍了 ksar 这个工具,它基于 sar 的图形化工具。它能够从 10 几个方面对系统的活动进行报告,包括文件的读写状况、系统调用的使用状况、串口、CPU 效率、内存使用情况、进程活动及 IPC 有关的活动等。这个命令很是复杂,只有经过熟练使用才能掌握。
本文出自:http://os.51cto.com/art/201303/383262_6.htm