1、前言

  在linux下开发程序,为了追求高性能,经常需要测试程序的性能,包括cpu、内存、io、网络等等使用情况。liunx下提供了众多命令方便查看各种资源的使用情况。经常用的有ps、top、free、mpstat、iostat、vmstat、netstat。

2、ps、top、free命令

  ps用于查看系统中进程的情况,top能够实时显示系统中各个进程的资源占用状况,free命令可以显示Linux系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer。

3、mpstat命令

  用于获取 CPU 相关统计信息,命令执行结果如下图所示:

%user         表示处理用户进程所使用 CPU 的百分比。

%nice         表示使用 nice 命令对进程进行降级时 CPU 的百分比。nice 命令更改进程的优先级。

%system    表示内核进程使用的 CPU 百分比  

%iowait      表示等待进行 I/O 所使用的 CPU 时间百分比  

%irq          表示用于处理系统中断的 CPU 百分比  

%soft        表示用于软件中断的 CPU 百分比  

%idle         显示 CPU 的空闲时间

4、iostat命令

  性能评估的一个主要部分就是磁盘性能,iostat 命令提供了存储接口的性能指标。执行结果下图所示:

tps 每秒的传输数量,例如,每秒的 I/O 操作数。注:这只是 I/O 操作的数量;每个操作可能非常大,也可能非常小。

Blk_read/s 每秒从该设备读取的块数。通常,块的大小为 512 字节。这是一个磁盘利用率较好的值。

Blk_wrtn/s 每秒写入该设备的块数

Blk_read 到目前为止从该设备读取的块数。注意,这并不是正在发生的情况。很多块已经从该设备读取。可能现在什么也没有读取。观察一段时间,看是否有变化。

Blk_wrtn 写入该设备的块数。

5、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”上的百分比

6、netstat命令

  用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。

7、参考网址:

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

linux下性能分析命令[总结]的更多相关文章

  1. Linux下性能分析工具汇总

    来自:http://os.51cto.com/art/201104/253114.htm 本文讲述的是:CPU性能分析工具.Memory性能分析工具.I/O性能分析工具.Network性能分析工具. ...

  2. Linux 常用性能分析命令

    性能分析 vmstat 虚拟内存统计 用法 Usage: vmstat [options] [delay [count]] Options: -a, --active           active ...

  3. Linux性能分析命令工具汇总

    转自:http://rdc.hundsun.com/portal/article/731.html?ref=myread 出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章. ...

  4. 命令:jstack(查看线程)、jmap(查看内存)和jstat(性能分析)命令

    命令:jstack(查看线程).jmap(查看内存)和jstat(性能分析)命令 这些命令 必须 在 linux jdk bin 路径 下执行 eq: ./jstack 10303 即可  如果想把 ...

  5. jstack(查看线程)、jmap(查看内存)和jstat(性能分析)命令

    jstack(查看线程).jmap(查看内存)和jstat(性能分析)命令   公司内部同事分享的一篇文章 周末看到一个用jstack查看死锁的例子.昨天晚上总结了一下jstack(查看线程).jma ...

  6. Linux下内存查看命令

    在Linux下面,我们常用top命令来查看系统进程,top也能显示系统内存.我们常用的Linux下查看内容的专用工具是free命令. Linux下内存查看命令free详解: 在Linux下查看内存我们 ...

  7. linux 下用find命令查找文件,rm命令删除文件

    linux 下用find命令查找文件,rm命令删除文件. 删除指定目录下指定文件find 要查找的目录名 -name .svn |xargs rm -rf 删除指定名称的文件或文件夹: find -t ...

  8. linux下显示dd命令的进度:

    linux下显示dd命令的进度: dd if=/dev/zero of=/tmp/zero.img bs=10M count=100000 想要查看上面的dd命令的执行进度,可以使用下面几种方法: 比 ...

  9. [转] 关于linux下通过shell命令(自动)修改用户密码

    关于linux下通过shell命令(自动)修改用户密码 2012-04-23 18:47:39 分类: 原文地址:关于linux下(自动)修改用户密码 作者:ubuntuer 本文章总结了如何手动.自 ...

随机推荐

  1. Linux学习笔记07—mysql的配置

    一.mysql简介 说到数据库,我们大多想到的是关系型数据库,比如mysql.oracle.sqlserver等等,这些数据库软件在windows上安装都非常的方便,在Linux上如果要安装数据库,咱 ...

  2. Mac 10.13安装telnet

    狗日的Mac 10.13默认不自带telnet!!!苹果你以为你的操作系统真的那么平民吗,别做梦,用你只不过是为了开发!!! 安装: brew install telnet 如果你用上述方法安装不上, ...

  3. CSS动画简介

    现在,我很少写介绍CSS的文章,因为感觉网站开发的关键还是在服务器端. 但是,CSS动画除外,它实在太有用了. 本文介绍CSS动画的两大组成部分:transition和animation.我不打算给出 ...

  4. AspNetPager 控件使用

    使用方法: 1.添加对AspNetPager.dll的引用 2.在页面上拖放控件 3. <%@ Register assembly="AspNetPager" namespa ...

  5. LPC43xx SGPIO Slice 示意图

    SGPIO inverted clock qualifier Hi, With bits 6:5 of SGPIO_MUX_CFG the QUALIFIER_MODE is selected (0x ...

  6. 使用SIGALRM信号为阻塞操作设置超时

    我们经常会遇到为阻塞操作设置超时的问题,比如说阻塞套接字read读取设置10秒超时,其中一个办法就是调用alarm函数,它在指定超时时期产生SIGALRM信号,使得阻塞操作中断. 但其弊端在于: 1. ...

  7. 【推荐】腾讯android镜像(做Android开发的得好好利用下这个网站,国内的大公司还是可以滴……)

    原文地址:http://android-mirror.bugly.qq.com:8080/include/usage.html ☀ Windows I. Open Android SDK Manage ...

  8. Xcode 5中非常期待的6个功能

    这里是新特征汇总博文链接:iOS7新特征汇总 小引: 自从北京时间2013年06月11日苹果发布Xcode 5 Developer Preview 1,到现在(2013年7约15日)已经过去一个月,苹 ...

  9. Winfrom固定Label宽度,根据文本动态改变Label的高度 z

    Label,要固定住宽度,然后根据文本的长度来动态改变高度,一开始去网上找解决方案,各种根据字体大小啊,字数啊来动态改变,但是效果却不怎么好.最后灵机一动,想起了偶尔用过一次的FlowLayoutPa ...

  10. 使用Spire.Office for .NET(Word、Excel、PPT、PDF等)的初步感受

    前言 本文大部分内容来自http://www.codeproject.com/Articles/710747/First-thoughts-on-Spire-Doc-for-NET. 针对我个人来说, ...