代码改变世界

服务器性能查看常用命令

2012-06-01 06:35  轩脉刃  阅读(23788)  评论(1编辑  收藏  举报

最近在调试程序的时候经常需要查看服务器的性能问题。那么到底是需要查看服务器的哪些性能呢,如何查看性能呢?下面主要就说一下一些查看服务器性能的命令。

注:由于参数过多,我只列出了几个常观察的参数,更多的参数说明有附带链接作为参考

free –m  查看内存使用情况

clip_image001

这个命令比较简单,-m 代表下面的是以M为单位

Mem是表示物理内存,主要看 Mem free代表还有多少内存可以

 

说一下第二行的 -/+ buffers/cache:

used = 第一行的used - buffers - cached (表示实际使用的内存总数)

free = 第一行的free + buffers + cached (表示实际剩余的内存总数)

所以一般查看内存还剩余多少查看第二行的free参数

 

更多详解可以参考:http://www.linuxso.com/command/free.html

iostat命令

iostat是查看系统IO情况的命令

clip_image002

% user显示了在用户级(应用程序)执行时产生的 CPU 使用率百分比。

% system显示了在系统级(内核)执行时产生的 CPU 使用率百分比。

% idle显示了在 CPU 空闲并且系统没有未完成的磁盘 I/O 请求时的时间百分比。

% iowait显示了 CPU 空闲期间系统有未完成的磁盘 I/O 请求时的时间百分比。

%nicenice操作(改变进程优先序列操作)操作使用的CPU百分比

%steal管理程序维护另一个虚拟处理器时候,虚拟CPU的无意识等待时间百分比

 

在所有显示中,我们要注意的有几个:

1 iowait,如果iowait较高,表示硬盘操作存在IO瓶颈

2 idle, 如果高,说明CPU较空闲,如果持续低于10的话,说明CPU处理能力低,此时存在CPU瓶颈

 

更多说明请看:

http://wenku.baidu.com/view/404bcac48bd63186bcebbc95.html

http://wenku.baidu.com/view/900a99370b4c2e3f57276313.html

 

sar 命令(system activity reporter )

sar是查看操作系统的资源使用情况,CPU,内存,IO等都会在这个命令中得到体现

sar [参数] [间隔次数] [统计次数]

 

sar -A 1 10代表列出所有统计项目,每1s统计一次,共统计10次

Sar -A中有许多项参数,一个一个说吧

clip_image003

(8 CPU)很明显,这台机子是8核的

%irq CPU用于硬件交互所占用的时间百分比

%soft CPU用于应用程序交互所占用的时间百分比

%guest CPU用于虚拟处理器所占用的时间百分比

clip_image004

await  IO请求平均需要耗费的时间

svstm  IO访问设备的平均时间

%util  CPU的IO访问所占用和等候的时间,如果这个时间很大的话,就说明CPU的时间都放在IO操作和等候上了。此时IO瓶颈。

 

sar还有更多选项可以参考:

http://linux.die.net/man/1/sar

netstat命令

clip_image005

这里就说几个常看的

Local Address是本地端口

Foreign Address是连接到外部的IP和端口

state是这个socket的状态

Recv-Q和Send-Q表示端口的吞吐量

 

比如现在想看这台机子的nginx有多少个连接

netstat -anp | grep "nginx" | wc –l

 

更多的注释说明在:http://linux.die.net/man/8/netstat

参考资料

建议读者需要查看某个linux命令,直接参考这个网站:

http://linux.die.net/man/8/

虽然是E文,但是比参考很多零零散散的文章好多了。

Creative Commons License

本文基于署名-非商业性使用 3.0许可协议发布,欢迎转载,演绎,但是必须保留本文的署名叶剑峰(包含链接http://www.cnblogs.com/yjf512/),且不得用于商业目的。如您有任何疑问或者授权方面的协商,请与我联系