博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Unix/Linux环境下性能分析工具介绍一(基础工具篇)
阅读量:5099 次
发布时间:2019-06-13

本文共 2452 字,大约阅读时间需要 8 分钟。

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

time 命令(所有平台)

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

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

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

ps 命令(所有平台)

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

> ps -o cmd,vsz $$CMD                            VSZbash                          6880

top命令(Linux平台)

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

> top -b  | head -20top - 14:18:36 up 130 days,  2:52, 13 users,  load average: 1.02, 1.08, 1.03Tasks: 270 total,   2 running, 255 sleeping,   0 stopped,  13 zombieCpu(s):  2.5%us,  0.4%sy,  0.0%ni, 96.9%id,  0.1%wa,  0.0%hi,  0.0%si,  0.0%stMem:   2829004k total,  2715996k used,   113008k free,    95180k buffersSwap:  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

你可能感兴趣的文章
linux中环境变量PATH设置错误,导致ls cd 等命令不能使用,提示:没有那个文件或目录...
查看>>
JQueryUI之Autocomplete
查看>>
安装两个tomcat
查看>>
一个简单的knockout.js 和easyui的绑定
查看>>
“烧钱补贴”下的O2O该何去何从?
查看>>
一个逻辑漏洞的发现
查看>>
poj2689(素数区间筛法模板)
查看>>
如何在网中使用百度地图API自定义个性化地图
查看>>
腾讯云无法用域名访问IIS上的网站
查看>>
type convert in python
查看>>
关键字参数
查看>>
Python Cookbook(第2版)中文版
查看>>
TCP协议栈的6类定时器
查看>>
【图论 动态规划拆点】luoguP3953 逛公园
查看>>
【大话存储II】学习笔记(2章), SSD
查看>>
SQLHelp sql数据库的DAL
查看>>
阅读学术论文的心得体会from小木虫
查看>>
Python——Message控件
查看>>
多线程下单例模式:懒加载(延迟加载)和即时加载
查看>>
从 fn_dbLog 解析操作日志(补充update)
查看>>