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繁忙,会影响系统性能

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

时间: 2024-10-23 20:07:23

linux系统中常见的性能分析工具的相关文章

阿里云服务器 Linux系统中常见的日志介绍

云服务器 ECS Linux 系统中,日志文件是非常重要的文件,它们记录了很多系统中重要的事.Linux 系统中常见日志文件概述如下: /var/log/cron可以在 cron 文件中检查 crontab 任务调度是否实际执行,执行过程是否发生错误,以及 /etc/crontab 文件是否有语法错误或编写错误. /var/log/dmesg可以在 dmesg 文件中检查系统在开机时候内核检测过程所产生的各项信息,包括系统的设备信息,以及在启动和操作过程中系统记录的任何错误和问题的信息.通过 d

云服务器 ECS Linux 系统中常见的日志文件介绍

云服务器 ECS Linux 系统中,日志文件是非常重要的文件,它们记录了很多系统中重要的事.Linux 系统中常见日志文件概述如下: /var/log/cron可以在 cron 文件中检查 crontab 任务调度是否实际执行,执行过程是否发生错误,以及 /etc/crontab 文件是否有语法错误或编写错误. /var/log/dmesg 可以在 dmesg 文件中检查系统在开机时候内核检测过程所产生的各项信息,包括系统的设备信息,以及在启动和操作过程中系统记录的任何错误和问题的信息.通过

Linux下常见的性能分析工具

1.vmstat--Virtual Meomory Statistics,可以对操作系统的内存信息.进程状态.CPU活动等进行监视,但是无法对某个进程进行深入分析 vmstat-n表示在周期性的循环输出,输出的头部信息仅显示一次delay两次的输出间隔时间count按照delay指定的时间间隔统计的次数proces  r列表示运行和等待CPU时间片的进程数,这个值如果长期大于系统CPU个数,说明cpu不足.  b列表示等待资源的进程数,比如正在等待IO或者内存交换memory  swap表示切换

Linux系统中常见的文件系统有哪些?

Linux系统是现在非常受欢迎的操作系统,在Linux之中,一切都是文件,因为有很多操作都是依靠文件系统才可以完成的,而且文件系统可以满足用户正常的使用,那么Linux中常见的文件系统有哪些?老为大家介绍一下. 总体来说,在Linux之中,系统能够支持的文件系统要比Windows系统多很多,达到数十种,所以说Linux系统也是非常出色的操作系统.Linux中常见的文件系统介绍: 1.Ext3:是一款日志文件系统,能够在系统异常的情况下避免文件系统资料丢失,并且能够修复数据的不一致以及错误,同时,

【linux】linux系统中常见配置文件说明

1.配置文件/proc/sys/fs/file-nr 里文件里显示三个数字 [[email protected] logs]# cat /proc/sys/fs/file-nr 2112 0 2100000 已分配文件句柄的数目 已使用文件句柄的数目 文件句柄的最大数目 上面第二项的值为0表示分配的文件描述符都已经被使用. 2.配置文件 /etc/sysctl.conf 主要是一些系统信息配置 [[email protected] ~]# cat /etc/sysctl.conf kernel.

Linux系统性能调优之性能分析

1.Linux性能分析的目的1)找出系统性能瓶颈(包括硬件瓶颈和软件瓶颈):2)提供性能优化的方案(升级硬件?改进系统系统结构?):3)达到合理的硬件和软件配置:4)使系统资源使用达到最大的平衡.(一般情况下系统良好运行的时候恰恰各项资源达到了一个平衡体,任何一项资源的过渡使用都会造成平衡体系破坏,从而造成系统负载极高或者响应迟缓.比如CPU过渡使用会造成大量进程等待CPU资源,系统响应变慢,等待会造成进程数增加,进程增加又会造成内存使用增加,内存耗尽又会造成虚拟内存使用,使用虚拟内存又会造成磁

Java性能优化指南系列(二):Java 性能分析工具

进行JAVA程序性能分析的时候,我们一般都会使用各种不同的工具.它们大部分都是可视化的,使得我们可以直观地看到应用程序的内部和运行环境到底执行了什么操作,所以性能分析(性能调优)是依赖于工具的.在第2章,我强调了基于数据驱动的性能测试是非常重要的,我们必须测试应用的性能并理解每个指标的含义.性能分析和数据驱动非常类似,为了提升应用程序的性能,我们必须获取应用运行的相关数据.如何获取这些数据并理解它们是本章的主题.[本章重点介绍JDK中提供的性能分析工具] 操作系统工具及其分析 程序分析的起点并不

超全整理!Linux性能分析工具汇总合集

出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章.本文也可以作为检验基础知识的指标,另外文章涵盖了一个系统的方方面面.如果没有完善的计算机系统知识,网络知识和操作系统知识,文档中的工具,是不可能完全掌握的,另外对系统性能分析和优化是一个长期的系列. 本文档主要是结合Linux 大牛,Netflix 高级性能架构师 Brendan Gregg 更新 Linux 性能调优工具的博文,搜集Linux系统性能优化相关文章整理后的一篇综合性文章,主要是结合博文对涉及到的原理和性

Linux 性能分析工具汇总合集

出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章.本文也可以作为检验基础知识的指标,另外文章涵盖了一个系统的方方面面.如果没有完善的计算机系统知识,网络知识和操作系统知识,文档中的工具,是不可能完全掌握的,另外对系统性能分析和优化是一个长期的系列. 本文档主要是结合Linux 大牛,Netflix 高级性能架构师 Brendan Gregg 更新 Linux 性能调优工具的博文,搜集Linux系统性能优化相关文章整理后的一篇综合性文章,主要是结合博文对涉及到的原理和性