当前位置:文档之家› 性能测试-linux资源监控

性能测试-linux资源监控

目录:Linux硬件基础CPU:就像人的大脑,主要负责相关事情的判断以及实际处理的机制。

CPU:CPU的性能主要体现在其运行程序的速度上。

影响运行速度的性能指标包括CPU的工作频率、Cache容量、指令系统和逻辑结构等参数。

查询指令:cat /proc/cpuinfo内存:大脑中的记忆区块,将皮肤、眼睛等所收集到的信息记录起来的地方,以供CPU 进行判断。

内存:影响内存的性能主要是内存主频、内容容量。

查询指令:cat /proc/meminfo硬盘:大脑中的记忆区块,将重要的数据记录起来,以便未来再次使用这些数据。

硬盘:容量、转速、平均访问时间、传输速率、缓存。

查询指令:fdisk -l (需要root权限)Linux监控命令linux性能监控分析命令vmstatvmstat使用说明vmstat可以对操作系统的内存信息、进程状态、CPU活动、磁盘等信息进行监控,不足之处是无法对某个进程进行深入分析。

vmstat [-a] [-n] [-S unit] [delay [ count]]-a:显示活跃和非活跃内存-m:显示slabinfo-n:只在开始时显示一次各字段名称。

-s:显示内存相关统计信息及多种系统活动数量。

delay:刷新时间间隔。

如果不指定,只显示一条结果。

count:刷新次数。

如果不指定刷新次数,但指定了刷新时间间隔,这时刷新次数为无穷。

-d:显示各个磁盘相关统计信息。

Sarsar是非常强大性能分析命令,通过sar命令可以全面的获取系统的CPU、运行队列、磁盘I/O、交换区、内存、cpu中断、网络等性能数据。

sar 命令行的常用格式:sar [options] [-A] [-o file] t [n]在命令行中,n 和t 两个参数组合起来定义采样间隔和次数,t为采样间隔,是必须有的参数,n为采样次数,是可选的,默认值是1,-o file表示将命令结果以二进制格式存放在文件中,file 在此处不是关键字,是文件名。

options 为命令行选项,sar命令的选项很多,下面只列出常用选项:-A:所有报告的总和。

-u:CPU利用率-v:进程、节点、文件和锁表状态。

-p:像是当前系统中指定CPU使用信息。

-d:硬盘使用报告。

-r:显示系统内存的使用情况。

-n:显示网络运行状态。

参数后面可跟DEV、EDEV、SOCK和FULL。

DEV显示网络接口信息,EDEV显示网络错误的统计数据,SOCK显示套接字信息,FULL显示前三参数所以信息。

-q:显示运行队列的大小,它与系统当时的平均负载相同-B:内存分页情况-R:显示进程在采样时间内的活动情况。

-g:串口I/O的情况。

-b:缓冲区使用情况。

-a:文件读写情况。

-c:系统调用情况。

-R:进程的活动情况。

-y:终端设备活动情况。

-W:系统交换活动。

Iostatiostat是对系统的磁盘I/O操作进行监控,它的输出主要显示磁盘读写操作的统计信息,同时给出CPU的使用情况。

同vmstat一样,iostat不能对某个进程进行深入分析,仅对操作系统的整体情况进行分析。

iostat命令行的常用格式:iostat [ -c | -d ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ device [ ... ] | ALL ] [ -p [ device | ALL ] ] [ interval [ count ] ]各选项以及参数含义如下:-c:仅显示CPU统计信息.与-d选项互斥.-d :仅显示磁盘统计信息.与-c选项互斥.-k :以K为单位显示每秒的磁盘请求数,默认单位块.-p :device | ALL与-x选项互斥,用于显示块设备及系统分区的统计信息.也可以在-p后指定一个设备名,如:# iostat -p had或显示所有设备# iostat -p ALL-t :在输出数据时,打印搜集数据的时间.-V :打印版本号和帮助信息.-x device 输出指定要统计的磁盘设备名称,默认为所有磁盘设备.interval :指两次统计间隔时间- count :按照interval 指定的时间间隔统计的次数Toptop命令能够实时监控系统的运行状态,并且可以按照CPU、内存和执行时间进行排序,同时top命令还可以通过交互式命令进行设定显示,通过top命令可以查看即时活跃的进行。

命令行启动参数:用法: top -hv | -bcisSHM -d delay -n iterations [-u user | -U user] -p pid [,pid ...]-b : 批次模式运行。

通常用作来将top的输出的结果传送给其他程式或储存成文件-c : 显示执行任务的命令行-d : 设定延迟时间-h : 帮助-H : 显示线程。

当这个设定开启时,将显示所有进程产生的线程-i : 显示空闲的进程-n : 执行次数。

一般与-b搭配使用-u : 监控指定用户相关进程-U : 监控指定用户相关进程-p : 监控指定的进程。

当监控多个进程时,进程ID以逗号分隔。

这个选项只能在命令行下使用-s : 安全模式操作-S : 累计时间模式-v : 显示top版本,然后退出。

-M : 自动显示内存单位(k/M/G)回车、空格: 刷新显示信息?、h : 帮助= : 移除所有任务显示的限制A : 交替显示模式切换B : 粗体显示切换d、s : 更改界面刷新时间间隔G : 选择其它窗口/栏位组I : Irix或Solaris模式切换u、U : 监控指定用户相关进程k : 结束进程q : 退出topr : 重新设定进程的nice值W : 存储当前设定Z : 改变颜色模板2.摘要区命令l : 平均负载及系统运行时间显示开关m : 内存及交换空间使用率显示开关t : 当前任务及CPU状态显示开关1 : 汇总显示CPU状态或分开显示每个CPU状态3.任务区命令外观样式b : 黑体/反色显示高亮的行/列。

控制x和y交互命令的显示样式x : 高亮显示排序的列y : 高亮显示正在运行的任务z : 彩色/黑白显示。

显示内容c : 任务执行的命令行或进程名称f、o : 增加和移除进程信息栏位及调整进程信息栏位显示顺序H : 显示线程S : 时间累计模式u : 监控指定用户相关进程任务显示的数量i : 显示空闲的进程n或# : 设置任务显示最大数量任务排序(shift+f)M : 按内存使用率排序N : 按PID排序P : 按CPU使用率排序T : 按Time+排序< : 按当前排序栏位左边相邻栏位排序> : 按当前排序栏位右边相邻栏位排序F 或O : 选择排序栏位Freefree命令是监控linux内存使用最常用的命令参数说明:-m:以M为单位查看内存使用情况(默认为kb)-b:以字节为单位查看内存使用情况-s:可以在指定时间段内不简单监控内存的使用情况Uptime uptime命令是监控系统性能最常用的一个命令,主要是来统计系统当前的运行状态输出信息依次是:系统现在的时间,系统从上次开机到现在运行了多长时间,系统当前有多少个登录用户,系统在一分钟内、5分钟内、15分钟内的平均负载注意点:如果load average值长期大于系统CPU的个数则说明CPU很繁忙,负载很高,可能会影响系统性能NetstatNetstat命令用于显示本机网络连接、运行端口、路由表等信息命令行启动参数:netst at [选项]-a (all):显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED),也包括监听连接请求(LISTENING)的那些连接,断开连接(CLOSE_W AIT)或者处于联机等待状态的(TIME_WAIT)等-t (tcp):显示tcp相关选项-u (udp):仅显示udp相关选项-n :拒绝显示别名,能显示数字的全部转化成数字。

-l :仅列出有在Listen (监听) 的服務状态-p :显示建立相关链接的程序名-r :显示路由信息,路由表,除了显示有效路由外,还显示当前有效的连接-e :显示扩展信息,例如uid等-s :按各个协议进行统计-c :每隔一个固定时间,执行该netstat命令。

-v :显示当前的有效连接,与-n选项类似-I :显示自动匹配接口的信息-e :显示关于以太网的统计数据。

它列出的项目包括传送的数据报的总字节数、错误数、删除数、数据报的数量和广播的数量。

这些统计数据既有发送的数据报数量,也有接收的数据报数量。

这个选项可以用来统计一些基本的网络流量。

提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到Psps命令就是最基本同时也是非常强大的进程查看命令.使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等.总之大部分信息都是可以通过执行该命令得到的。

psa:显示现行终端机下的所有程序,包括其他用户的程序。

ps -A :显示所有程序。

ps c :列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。

ps -e :此参数的效果和指定"A"参数相同。

ps e :列出程序时,显示每个程序所使用的环境变量。

ps f :用ASCII字符显示树状结构,表达程序间的相互关系。

ps -H:显示树状结构,表示程序间的相互关系。

ps –N:显示所有的程序,除了执行ps指令终端机下的程序之外。

ps s:采用程序信号的格式显示程序状况。

ps S :列出程序时,包括已中断的子程序资料。

ps -t<终端机编号> :指定终端机编号,并列出属于该终端机的程序的状况。

ps u:以用户为主的格式来显示程序状况。

ps x:显示所有程序,不以终端机来区分。

Ps -l:较长较详细的显示该pid信息最常用的方法是ps -aux,然后再利用一个管道符号导向到grep去查找特定的进程,然后再对特定的进程进行操作。

Stracestrace常用来跟踪进程执行时的系统调用和所接收的信号。

在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通过系统调用访问硬件设备。

strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间strace使用参数-p:跟踪指定的进程。

-f:跟踪由fork子进程系统调用。

-F:尝试跟踪vfork子进程系统调吸入,与-f同时出现时, vfork不被跟踪。

-o filename:默认strace将结果输出到stdout。

通过-o可以将输出写入到filename文件中。

-ff:常与-o选项一起使用,不同进程(子进程)产生的系统调用输出到filename.PID文件。

相关主题