性能测试常用命令.docx

上传人:牧羊曲112 文档编号:5287660 上传时间:2023-06-22 格式:DOCX 页数:8 大小:243.67KB
返回 下载 相关 举报
性能测试常用命令.docx_第1页
第1页 / 共8页
性能测试常用命令.docx_第2页
第2页 / 共8页
性能测试常用命令.docx_第3页
第3页 / 共8页
性能测试常用命令.docx_第4页
第4页 / 共8页
性能测试常用命令.docx_第5页
第5页 / 共8页
亲,该文档总共8页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《性能测试常用命令.docx》由会员分享,可在线阅读,更多相关《性能测试常用命令.docx(8页珍藏版)》请在三一办公上搜索。

1、一、uptimeUptime命令的显示结果包括服务器已经运行了多长时间,有多少登陆用户 和对服务器性能的总体评估(load average)o load average值分别记录了上 个1分钟,5分钟和15分钟间隔的负载情况,load average不是一个百分比, 而是在队列中等待执行的进程的数量。如果进程要求CPU时间被阻塞(意味着 CPU没有时间处理它),load average值将增加。另一方面,如果每个进程都可 以立刻得到访问CPU的时间,这个值将减少。UP kernel下的load average的最佳值是1,这说明每个进程都可以立刻被CPU 处理,当然,更低不会有问题,只说明浪费

2、了一部分的资源。但在不同的系统间 这个值也是不同的,例如一个单CPU的工作站,load average为1或者2都是 可以接受的,而在一个多CPU的系统中这个值应除以物理CPU的个数,假设CPU 个数为4,而load average为8或者10,那结果也是在2多点而已。roQtrfgz # uptime 12:32:35 up 7 days, 17:50f1 userr load average: 0.12, 0.13, 0.05你可以使用uptime判断一个性能问题是出现在服务器上还是网络上。例如,如 果一个网络应用运行性能不理想,运行uptime检查系统负载是否比较高,如果 不是这个问题更

3、可能出现在你的网络上。二、topTop命令显示了实际CPU使用情况,默认情况下,它显示了服务器上占用CPU的 任务信息并且每5秒钟刷新一次。你可以通过多种方式分类它们,包括PID、时 间和内存使用情况。top -12:33:39 up 717:51f1load average : 0.25f 0.16r 0.06Tasks:71 totalr2 mnningf 69sleeping,0 stopped0 zonibieCpu (s):4.8%6.9* syr 0.0%TLf 87.羿 idf 0.0% waf 1.1% iilf 0.0% siMem:255120k total,253572k

4、 used.1548k free,13576k buffersSwap: 1522104k totalr9892k useir512212k free,34120k cachedHDUSERFR 囚工 Y工丈E抒HR抒724root1502996480416 59.7 0.26:36.54 pppoe1175root17033483367S2 R1.10.40:00.0 top1root16016S4S48472 50.00.20:02.58 init2root3419000 R0.00.03:21.35 ksQftirqd/03root5 -10000 50.0 0.00:00.24 eve

5、nts/04root5 -10000 50.00.00:16.38 khelper5root5 -10000 50.00.00:00.03 kblockd/06root150000 50.00.00:00.30 khubd34root150000 50.00.00:00.53 kapiDd37root150000 50.00.01:36.27 pdflush38root150000 50.00.01:34.20 pdflush40rootS -10000 50.00.00:00.00 aio/039root150000 50.00.01:13.25 kswapdO136root250000 5

6、0.0 0.00:00.00 kseiiod296root150000 50.00.00:46.09 kjournald132Sroot5 -102316448330 50.00.20:00.11 udevd1593root6 -10000 50.00.00:00.00 kauditd下面是输出值的介绍:PID:进程标识USER ;进程所有者的用户名PRI:进程的优先级NI: nice 级别SIZE:进程占用的内存数量(代码+数据+堆栈)RSS ;进程使用的物理内存数量SHARE ;该进程和其他进程共享内存的数量STAT:!的状态:S =休眠状态,R =运行状态,T =停止状态,D=中断休眠状

7、 态,2 =僵尸状态%CPU:共享的CPU使用%MEM ;共享的物理内存TIME:进程占用CPU的时间COMMAND :启动任务的命令行(包括参数)进程的优先级和nice级别进程优先级是一个决定进程被CPU执行优先顺序的参数,内核会根据需要调整这 个值。Nice值是一个对优先权的限制。进程优先级的值不能低于nice值。(nice 值越低优先级越高)进程优先级是无法去手动改变的,只有通过改变nice值去间接的调整进程优先 级。如果一个进程运行的太慢了,你可以通过指定一个较低的nice值去为它分 配更多的CPU资源。当然,这意味着其他的一些进程将被分配更少的CPU资源, 运行 更慢一些。Linux

8、支持nice值的范围是19 (低优先级)到-20(高优先级), 默认的值是0。如果需要改变一个进程的nice值为负数(高优先级),必须使 用su命令登陆到root用户。下面是一些调整nice值的命令示例,以nice值-5开始程序xyz#nice - n -5 xyz改变已经运行的程序的nice值#renice level pid将pid为2500的进程的nice值改为10#renice 10 2500僵尸进程当一个进程被结束,在它结束之前通常需要用一些时间去完成所有的任务(比如 关闭打开的文件),在一个很短的时间里,这个进程的状态为僵尸状态。在进程 完成所有关闭任务之后,会向父进程提交它关闭的

9、信息。有些情况下,一个僵 尸进程不能关闭它自己,这时这个进程状态就为z (zombie)。不 能使用kill 命令杀死僵尸进程,因为它已经标志为“dead”。如果你无法摆脱一个僵尸进 程,你可以杀死它的父进程,这个僵尸进程也就消失了。然而,如 果父进程是 init进程,你不能杀死init进程,因为init是一个重要的系统进程,这种情 况下你只能通过一次重新启动服务器来摆脱僵尸进程。也必须分 析应用为什么会导致僵死?三、iostatiostat是sysstat包的一部分。lostat显示自系统启动后的平均CPU时间(与 uptime类似),它也可以显示磁盘子系统的使用情况,iostat可以用来监

10、测CPU 利用率和磁盘利用率。2root:rf gzLi mix 2.6.-I# 9-42 .lostat:0.3.EL (rfgz.3322.org28T年(H月17日avg-cpui%nice%idle10.010.007.021.0481.92Device:tpsBlk_read/sBlJc_wrtn/BBlk_readBlJc_wrtnhda13.3028.88S89880919321512hdal3,W12.2728.80821269819267848hda21.02o. oe8487153664hdc0 79143.46154.4495991138123410712dm-02 3.

11、-6 8142.06154.4495058506123410712CPU利用率分四个部分:引用%user: user level (应用)的CPU占用率情况%nice:加入nice优先级的user level的CPU占用率情况%sys: system level (内核)的CPU占用情况%idle:空闲的CPU资源情况磁盘占用率有下面几个部分:引用Device :块设备名Tps:设备每秒进行传输的数量(每秒的I/O请求)。多个单独的I/O请求可以 被组成一个传输操作,因为一个传输操作可以是不同的容量。Blk_read/s, Blk_wrtn/s:该设备每秒读写的块的数量。块可能为不同的容量。B

12、lk_read, Blk_wrtn :自系统启动以来读写的块设备的总量。块的大小块可能为不同的容量。块的大小一般为1024、2048、4048byte。可通过tune2fs 或dumpe2fs获得:引用rootrfgz # tune2fs -l /dev/hda1|grep Block sizeBlock size:4096rootrfgz # dumpe2fs -h /dev/hda1|grep Block sizedumpe2fs 1.35 (28-Feb-2004)Block size:4096四、VmstatVmstat命令提供了对进程、内存、页面I/O块和CPU等信息的监控,vmst

13、at可 以显示检测结果的平均值或者取样值,取样模式可以提供一个取样时间段内不同 频率的监测结果。注:在取样模式中需要考虑在数据收集中可能出现的误差,将取样频率设为比 较低的值可以尽可能的减小误差的影响。下面介绍一下各列的含义引用process(procs)r:等待运行时间的进程数量b:处在不可中断睡眠状态的进程w:被交换出去但是仍然可以运行的进程,这个值是计算出来的memoryswpd:虚拟内存的数量free :空闲内存的数量buff :用做缓冲区的内存数量swap,从硬盘交换来的数量so:交换到硬盘去的数量IObi:向一个块设备输出的块数量bo:从一个块设备接受的块数量systemin:每秒

14、发生的中断数量,包括时钟cs:每秒发生的context switches的数量cpu(整个cpu运行时间的百分比)us:E内核代码运行的时间(用户时间,包括nice时间)sy:内核代码运行的时间(系统时间)id:空闲时间,在Linux 2.5.41之前的内核版本中,这个值包括I/O等待时间;wa:等待I/O操作的时间,在Linux 2.5.41之前的内核版本中这个值为0Vmstat命令提供了大量的附加参数,下面列举几个十分有用的参数:引用m:显示内核的内存利用率a:显示内存页面信息,包括活跃和不活跃的内存页面n:显示报头行,这个参数在使用取样模式并将命令结果输出到一个文件时非常有用。例如roo

15、t#vmstat - n 2 10以2秒的频率显示10输出结果当使用-p 分区时,vmstat提供对I/O结果的统计五、ps 和 pstreeps和pstree命令是系统分析最常用的基本命令,ps命令提供了一个正在运行的 进程的列表,列出进程的数量取决于命令所附加的参数。例如ps -A命令列出 所有进程和它们相应的进程ID(PID),进程的PID是使用其他一些工具之前所 必须了解的,例如pmap或者renice。在运行java应用的系统上,ps -A命令的输出很容易就会超过屏幕的显示范围, 这样就很难得到所有进程的完整信息。这时,使用pstree命令可以以树状结构 来显示所有的进程信息并且可以

16、整合子进程的信息。Pstree命令对分析进程的 来源十分有用。roQtrfgz -# pstiee init-+-adsl-conne ct pppdppp q e|-atd |-changeip.shsleep| -crcuud |-cupsd | - dbus - daemo n-1 | -dlicpd |-events/0-4aiQ/0 |-kauditd|-kblockd/0|l-kiielpei|l-kmirrord|-2*pdflush!|-hald |-httpdIS*httpdj| -kapnicl | -fchubd |-2*kjaurnald |-klogd |-kseii

17、ad |-ksoftirqd/0六、Numastat随着NUMA架构的不断发展,例如eServer xSeries 445及其后续产品eServer xSeries 460,现在NUMA架构已经成为了企业级数据中心的主流。然而,NUMA 架构在性能调优方面面临了新的挑战,例如内存分配的问题在NUMA系统之前并 没 人感兴趣,而Numastat命令提供了一个监测NUMA架构的工具。Numastat命 令提供了本地内存与远程内存使用情况的对比和各个节点的内存使用 情况。Numa_miss列显示分配失败的本地内存,numa_foreign列显示分配远程内存(访 问速度慢)信息,过多的调用远程内存将增

18、加系统的延 迟从而影响整个系统的 性能。使运行在一个节点上的进程都访问本地内存将极大的改善系统的性能。rootQlinuxnumastatnodelnodeOnuma_hit7655775992126519ntimajni w3077230830827638Tiuma_foreign3082753830772308i nterleave_hi t1065071038321ocal_node765022279208例95other node3082784030867162我使用的系统不支持NUMA架构,此图为原文档截图。七、sarsar程序也是sysstat安装包的一部分。sar命令用于收集、报

19、告和保存系统的 信息。Sar命令由三个应用组成:sar,用与显示数据;sa1和sa2,用于收集和 存储数据。默认情况下,系统会在crontab中加入自动收集和分析的操作:rootrfgz # cat /etc/cron.d/sysstat# run system activity accounting tool every 10 minutes */10 * * * * root /usr/lib/sa/sa1 1 1# generate a daily summary of process accounting at 23:5353 23 * * * root /usr/lib/sa/sa2

20、 -Asar命令所生成的数据保存在/var/log/sa/目录下,数据按照时间保存,可 以根据时间来查询相应的性能数据。你也可以使用sar在命令行下得到一个实时的执行结果,收集的数据可以包括 CPU利用率、内存页面、网络I/O等等。下面的命令表示用sar执行5次,间隔 时间为3秒:# sar 3 5Linux 2.6.9-42.0.:3.EL(rfgz. 3322. Dig 20070117 0翌时40分3岳秒CPU%usei% nicesystemiowaitidle翌时40分30秒all4.330.005.330.0090.33金时40分型秒all3.320.005.fi50.3390.7

21、0金时40分45秒all4.000.00fi.330.0089.fi7翌时40分*秒all3.680.005.fi90.00金时40分53.秒all3.320.005.fi50.0091.03Average:all3.730.005.730.0790.3 7八、freefree命令显示系统的所有内存的使用情况,包括空闲内存、被使用的内存和交 换内存空间。Free命令显示也包括一些内核使用的缓存和缓冲区的信息。当使用free命令的时候,需要记住linux的内存结构和虚拟内存的管理方法, 比如空闲内存数量的限制,还有swap空间的使用并不标志一个内存瓶颈的出现。Free命令有用的参数:引用-b,-

22、k,-m和-g 分别按照 bytes, kilobytes, megabytes, gigabytes 显示结果。 -l区别显示low和high内存 -c (count)显示free输出的次数九、Pmappmap命令显示一个或者多个进程使用内存的数量,你可以用这个工具来确定服 务器上哪个进程占用了过多的内存从而导致内存瓶颈。十、Stracestrace截取和记录进程的系统调用信息,还包括进程接受的命令信号。这是- 个有用的诊断和调试工具,系统管理员可以通过strace来解决程序上的问题。 命令格式,需要指定需要监测的进程ID。这个多为开发人员使用。strace -p 十一、ulimit可以通过ulimit来控制系统资源的使用。请看以前的日志:使用ulimit和proc 去调整系统参数十二、Mpstatmpstat命令也是sysstat包的一部分。Mpstat命令用于监测一个多CPU系统中 每个可用CPU的情况。Mpstat命令可以显示每个CPU或者所有CPU的运行情况, 同时也可以像vmstat命令那样使用参数进行一定频率的采样结果的监测。十三、附录本文截取和修改自IBM的红皮书Tuning Red Hat Enterprise Linux on IBM eServer xSeries Serverso

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号