一、前言html
在linux下开发程序,为了追求高性能,常常须要测试程序的性能,包括cpu、内存、io、网络等等使用状况。liunx下提供了众多命令方便查看各类资源的使用状况。常常用的有ps、top、free、mpstat、iostat、vmstat、netstat。linux
二、ps、top、free命令ios
ps用于查看系统中进程的状况,缓存
top可以实时显示系统中各个进程的资源占用情况网络
,free命令能够显示Linux系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer。性能
三、mpstat命令测试
用于获取 CPU 相关统计信息,命令执行结果以下图所示:spa
%user 表示处理用户进程所使用 CPU 的百分比。.net
%nice 表示使用 nice 命令对进程进行降级时 CPU 的百分比。nice 命令更改进程的优先级。
htm
%system 表示内核进程使用的 CPU 百分比
%iowait 表示等待进行 I/O 所使用的 CPU 时间百分比
%irq 表示用于处理系统中断的 CPU 百分比
%soft 表示用于软件中断的 CPU 百分比
%idle 显示 CPU 的空闲时间
四、iostat命令
性能评估的一个主要部分就是磁盘性能,iostat 命令提供了存储接口的性能指标。执行结果下图所示:
tps 每秒的传输数量,例如,每秒的 I/O 操做数。注:这只是 I/O 操做的数量;每一个操做可能很是大,也可能很是小。
Blk_read/s 每秒从该设备读取的块数。一般,块的大小为 512 字节。这是一个磁盘利用率较好的值。
Blk_wrtn/s 每秒写入该设备的块数
Blk_read 到目前为止从该设备读取的块数。注意,这并非正在发生的状况。不少块已经从该设备读取。可能如今什么也没有读取。观察一段时间,看是否有变化。
Blk_wrtn 写入该设备的块数。
五、vmstat命令
显示全部与内存和进程相关信息的命令,执行结果以下所示:
procs 显示进程数
r 等待运行的进程。系统上的负载越多,等待运行 CPU 周期的进程数量越多。
b 不可中断睡眠的进程,也称为“被阻塞”的进程。这些进程最有可能等待 I/O,但也可能等待其余事情。
wpd,free,buff,cache显示了内存值班
wpd 虚拟内存或交换内存的数量(以 KB 为单位)
free 可用物理内存的数量(以 KB 为单位)
buff 用做缓冲区的内存数量(以 KB 为单位)
cache 用做缓存的物理内存数量(以 KB 为单位)
si so 显示了交换活动:
si 将内存从磁盘交换回物理 RAM 的速率(以 KB/秒为单位)
so 将内存从物理 RAM 交换到磁盘的速率(以 KB/秒为单位)
bi,bo显示了 I/O 活动:
bi 系统向块设备发送数据的速率(以块/秒为单位)
bo 系统从块设备中读取数据的速率(以块/秒为单位)
in,cs 显示了系统相关活动:
in 系统每秒接收到的中断数
cs 在进程空间中切换上下文的速率(以数量/秒为单位)
us,sy,id,wa 显示了 CPU 负载的信息:
us 显示花费在用户进程中的 CPU 百分比。Oracle 进程属于这一类。
sy 系统进程(如全部根进程)使用的 CPU 百分比
id 可用 CPU 百分比
wa 花费在“等待 I/O”上的百分比
六、netstat命令
用于显示各类网络相关信息,如网络链接,路由表,接口状态 (Interface Statistics),masquerade 链接,多播成员 (Multicast Memberships) 等等。
七、参考网址:
http://blog.csdn.net/evils798/article/details/7524469
http://blog.csdn.net/zhangjay/article/details/6656771
http://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316661.html