linux系统中常见的性能分析工具

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux系统中常见的性能分析工具相关的知识,希望对你有一定的参考价值。

一、vmstat

            vmstat是linux/unix上一个监控工具,能展示给定时间间隔的服务器的状态,包括操作系统的内存信息,CPU使用状态、进程信息等。

语法:

vmstat [-V] [delay [count]]
    #-V     打印出vmstat工具的版本信息
    #delay  设置两次输出的时间间隔
    #count  设置总共输出的次数

技术分享


技术分享

对输出参数进行讲解

    procs

        r:运行进程数(即真正分配到cpu的进程数量),如果该值长期大于系统逻辑cpu的数量,表示cpu不足

        b:表示阻塞的进程数

    memory

        swpd:表示正在使用的虚拟内存的多少

        free:表示当前空闲的物理内存的大小

        buff:表示当前使用的buffers的大小

        cached:表示当前使用的cached的大小

buffers和cached的区别:
    ①buffers和cached都是内存的一部分
    ②buffers是内存与磁盘之间的,当对磁盘进行读写操作时,内存先将数据缓存到buffers中,然后再写入磁盘;cached是cpu和内存之间的,cached是缓存读取过的内容,下次再读时,如果在缓存中命中,则直接从缓存读取,否则读取磁盘。

      swap

        si:表示从磁盘读入到虚拟内存的大小

        so:表示从虚拟内存写入到磁盘的大小

如果si和so长期不为0,表示系统内存不足;而如果swpd的值长期不为0,但si和so的值长期为0,则无需担心

      io

        bi:表示从磁盘读取数据的总量

        bo:表示写入磁盘的数据总量

      system

        in:表示系统中断数

        cs:表示每秒产生的上下文切换次数

in和cs的值越大,内核消耗cpu时间越大

      cpu

         us:用户进程消耗的cpu时间所占百分比

         sy:内核进程消耗的cpu时间所占百分比

          id:cpu空闲状态的时间百分比

          wa:表示IO等待所占用的cpu时间百分比

us+sy+id=100

----------------------------------------------------------------------------------------------------------------------------------------

二、sar命令

 sar命令可以获取系统的cpu、磁盘、内存、网络运行状态等信息

常见用法有

技术分享


技术分享


技术分享


技术分享

技术分享

注意要点:

    -u表示查看系统cpu整体的使用状态,-P可以分开查询每个cpu的使用情况,其中对cpu的计数是从0开始的


--------------------------------------------------------------------------------------------------------------------------------

三、iostat

可以对系统磁盘的IO操作进行监控,同时也可以输出显示cpu的使用情况

语法:

iostat options [interval [count]]
options说明
-c显示cpu的使用情况
-d显示磁盘的使用情况
-k表示以KB为单位显示数据
-x device指定要统计的磁盘设备

技术分享KB_read/s:表示每秒读取的数据块数量

KB_wrtn/s:表示每秒写入的数据块数量

KB_read:表示总共读的数据块数量
KB_wrtn:表示总共写的数据块数量

-----------------------------------------------------------------------------------------------------------------------

四、netstat

    可以显示网络连接、端口状态和路由表等信息

语法:netstat [options]

常见option说明
-a显示所有的连接和监听的端口
-r显示路由信息
-t显示tcp连接
-u显示udp连接
-l显示连接状态为LISTEN的连接
-p

显示连接对应的PID

-n以IP和端口的形式显示连接

比较常见用法:

netstat -plnt
netstat -puln
netstat -r

------------------------------------------------------------------------------------------------------------------------------------

五、free

    监控linux内存的使用情况

技术分享

---------------------------------------------------------------------------------------------------------------------------

六、uptime

    可以查看系统的启动时长和cpu的负载情况

技术分享

系统现在时间    启动时长   登录用户数量      1分钟内的平均负载  5分钟内的平均负载   15分钟内的平均负载

注意:load average的三个输出值如果大于系统逻辑cpu数量时,表示cpu繁忙,会影响系统性能

 -------------------------------------------------------------------------------------------------------------------------





本文出自 “90后” 博客,请务必保留此出处http://lzs66.blog.51cto.com/9607068/1850886

以上是关于linux系统中常见的性能分析工具的主要内容,如果未能解决你的问题,请参考以下文章

常见性能工具一览

我的Linux,我做主!性能监控工具nmon必知必会

Linux监控工具讲解

linux性能优化分析系统CPU瓶颈

性能工具之15个常用的Linux文件系统命令

性能工具之15个常用的Linux文件系统命令