Unix/Linux环境下性能分析工具介绍一(基础工具篇)

作为程序员,对应用程序做性能分析是一项必备技能。本系列将用三篇文章介绍一些常用的性能分析工具,主要涵盖三个操作系统平台(Linux/AIX/Solaris),硬件体系涉及X86,PowerPC, SPARC。三篇文章分别为基础工具篇,高级工具篇,总结和比较。

time 命令(所有平台)

time命令是所有Unix系统上最简单,也是很常用的观察应用程序时间性能工具,比如,

>/usr/bin/time -p sleep 1
real 1.00
user 0.00
sys 0.00

实际时间(real time)有时也叫挂钟时间(wall clock time),而用户态时间(user time)和内核态时间(sys time) 之和也常叫做CPU时间。

ps 命令(所有平台)

通过ps命令可以获取更多与进程相关的信息,比如查看当前shell进程的虚拟内存消耗,

> ps -o cmd,vsz $$
CMD                            VSZ
bash                          6880

top命令(Linux平台)

top命令提供了一些和系统相关的信息,比如cpu的负载情况,内存及交换空间的使用情况,也包括各个应用程序的资源使用情况。比如,

> top -b  | head -20
top - 14:18:36 up 130 days,  2:52, 13 users,  load average: 1.02, 1.08, 1.03
Tasks: 270 total,   2 running, 255 sleeping,   0 stopped,  13 zombie
Cpu(s):  2.5%us,  0.4%sy,  0.0%ni, 96.9%id,  0.1%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   2829004k total,  2715996k used,   113008k free,    95180k buffers
Swap:  2977784k total,  1452712k used,  1525072k free,   152916k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                           
 3154 yichunw   20   0 1278m 1.1g 4548 R   97 42.1   2427:11 nautilus                                          
27236 yichunw   20   0  188m  11m 5564 S   31  0.4 144:52.03 gnome-terminal                                    
22544 yichunw   20   0 17872  11m 1796 S    8  0.4 103:54.98 Xvnc4                                             
13671 root      20   0 17992 5228 1104 S    2  0.2   9:09.25 ruby                                              
13834 yichunw   20   0  2544 1160  796 R    2  0.0   0:00.02 top                                               
    1 root      20   0  2796 1484 1100 S    0  0.1   0:03.02 init                                              
    2 root      20   0     0    0    0 S    0  0.0   0:00.00 kthreadd                                          
    3 root      RT   0     0    0    0 S    0  0.0   0:00.80 migration/0                                       
    4 root      20   0     0    0    0 S    0  0.0   0:28.42 ksoftirqd/0                                       
    5 root      RT   0     0    0    0 S    0  0.0   0:00.00 watchdog/0                                        
    6 root      RT   0     0    0    0 S    0  0.0   0:00.80 migration/1     

在AIX上,类似的命令是topas

总结

如果作为系统管理员,可能需要考察硬盘,网络等其它硬件的使用情况,因此需要用到更多的工具(sar,vmstat等)。但从程序员角度,主要考察指标还是时间和空间性能,也就是CPU和内存消耗情况,以上列出的工具可以用作初步性能分析,进一步就需要利用高级工具观察程序内部的性能情况。

转载于:https://www.cnblogs.com/yichun/archive/2011/04/22/2024956.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值