【Linux下的性能测试】(一) : linux监控命令

linux监控命令是针对服务器的运行时服务器CPU、内存、磁盘读写的监控

一、top(适用于几分钟试压)

  top命令:集大成的linux监控,可以查看当前用户数量,重点是可以看到cpu和内存的使用情况

1. 整体使用情况:

第一排:使用时间以及系统用户数量

第二排:总共的进程数量以及进程的使用状态(running:运行中,sleeping:闲置,stopped:已停止)

第三排:CPU使用情况:us代表用户,sy代表系统,id代表闲置

第四排:内存情况:total代表内存总量,free代表内存闲置量,userd代表内存使用量

第五排:分区情况

重点需要关注的是CPU使用情况和内存使用情况

2. 具体各个程序使用情况:

PID: 代表程序的运行ID

%CPU: 代表CPU使用情况

%MEN: 代表内存使用情况

TIME+COMMAND: 代表时间以及程序名称或者是程序路径

3. top详细命令:

top:每隔5秒显示所有进程的资源占用情况(系统默认)

top -d 2:每隔2秒显示所有进程的资源占用情况

top -c:每隔5秒显示进程的资源占用情况,并显示进程的命令行参数(默认只有进程名)

 top -p 12345 -p 6789 //每隔5秒显示pid是12345和pid是6789的两个进程的资源占用情况

top -d 2 -c -p 123456 //每隔2秒显示pid是12345的进程的资源使用情况,并显式该进程启动的命令行参数

注意:有时候压测时可能CPU会显示300%或者400%,这个是和机器的核数有关系,如果是三核,最高就是300%,如果是四核,最高就是400%,可以通过mpstat -P ALL查看到CPU的核数   

4. 在实际压测当中,什么时候用top?

      一般是在试压时候,对系统进行压测3-5分钟,利用top命令查看cpu和内存的使用情况,长时间压测需要使用nmon工具

二. nmon(适用于正式压测):可以帮助我们定时采集

   1. 安装nmon工具,在命令框输入apt-get install nmon,系统自动下载安装nmon工具  

   2. 安装完毕后,输入nmon,进入nmon界面

 3. 一般nmon我们是用来定时采集数据,所以需要建立一个data文件,利用mkdir  /root/soft/data在指定路径下创建一个data文件用来采集数据

4. 利用nmon -s10 -c60 -f -m /root/soft/data收集数据

     参数解释:

-s 10 每 10 秒采集一次数据。

-c 60 采集 60 次,即为采集十分钟的数据。

-f 生成的数据文件名中包含文件创建的时间。

-m 生成的数据文件的存放目录。

这样就会生成一个 nmon 文件,并每十秒更新一次,直到十分钟后。

生成的文件名如: _090824_1306.nmon ,"" 是这台主机的主机名。

例句:nmon -s30 -c1440*2 -f -m /root/nmon 数据采集一天

nmon -s60 -c720 -f -m /root/nmon 数据采集半天

5. 利用nmon标准模板导入收集的nmon文件,利用宏模块生成图表,可以另存为其他execl文件

      A. 首先将linux系统中的nmon文件拷贝到本地中

      B. 打开nmon图表生成模板--execl

      C. 打开模板execl宏,将linuxnmon文件导入进来

D. 导入后自动生成图表execl文件并保存,保存后则可以查看nmon分析文件(主要还是关注CPU,内存MEN,磁盘IO

主要查看的图:sys sum图表、men图表、disk sum图表

 

CPU细分:user%表示用户使用状况,sys%表示系统使用状况,wait%表示等待状况,idle%表示闲置状况

注意:一般情况下CPU利用率里User%应占70%左右,Sys%应占30%左右,如果Sys%或Wait%占比等于或超过了User%,则应该关注是什么引起了过多的系统消耗,有可能是系统自身大量的磁盘读写造成的,也有可能是网络问题Network I/O消耗系统的调用。

http://blog.itpub.net/12778571/viewspace-510311/  宏问题

http://blog.csdn.net/saraul/article/details/8570781 图标分析

http://blog.csdn.net/he_jian1/article/details/41039709/ 指标说明

三、iotop:查看磁盘读写情况,定位程序,查看哪个程序对系统IO的消耗比较大

1. 输入apt-get stall iotop下载iotop工具

 2. 输入iotop,查看磁盘读写情况,可以方便我们定位程序

 

DISK READ: 磁盘读取

DISK WRITE: 磁盘编写

SWAPIN: 磁盘交换

IO>: 磁盘使用率

COMMAND: 执行程序

四、ps该命令用于将某个时间点的进程运行情况选取下来并输出,process之意,它的常用参数如下:

-A :所有的进程均显示出来  

-a :不与terminal有关的所有进程  

-u :有效用户的相关进程  

-x :一般与a参数一起使用,可列出较完整的信息  

-l :较长,较详细地将PID的信息列出  

其实我们只要记住ps一般使用的命令参数搭配即可,它们并不多,如下:

ps aux # 查看系统所有的进程数据  

ps ax # 查看不与terminal有关的所有进程  

ps -lA # 查看系统所有的进程数据  

ps axjf # 查看连同一部分进程树状态

ps -ef:显示所有当前情况下的进程

 ps -ef | grep 进程名:显示某个程序的进程情况

与ps连用的命令:kill命令

该命令用于向某个工作(%jobnumber)或者是某个PID(数字)传送一个信号,它通常与ps和jobs命令一起使用,它的基本语法如下:

kill -signal PID

kill -9  PID:强制终止指定PID进程

signal的常用参数如下:

注:最前面的数字为信号的代号,使用时可以用代号代替相应的信号。

1:SIGHUP,启动被终止的进程  

2:SIGINT,相当于输入ctrl+c,中断一个程序的进行  

9:SIGKILL,强制中断一个进程的进行  

15:SIGTERM,以正常的结束进程方式来终止进程  

17:SIGSTOP,相当于输入ctrl+z,暂停一个进程的进行  

例如:

# 以正常的结束进程方式来终于第一个后台工作,可用jobs命令查看后台中的第一个工作进程  

kill -SIGTERM %1   

# 重新改动进程ID为PID的进程,PID可用ps命令通过管道命令加上grep命令进行筛选获得  

kill -SIGHUP PID

五、单项监控数据查看:

A. free命令:查看内存的使用情况top命令已经包含)

total:内存总数

used:内存使用数

free:内存未使用数

shared:共享内存数

B. mpstat命令:查看CPU使用情况top命令已包含)

mpstat -P ALL:将CPU的所有情况与每一个核的CPU使用情况罗列出来(下图为4核),allCPU数据是取的4个核CPU使用的平均数

CPU 处理器ID

user :在internal时间段里,用户态的CPU时间(%),不包含 nice值为负 进程 (usr/total)*100  

nice :在internal时间段里,nice值为负进程的CPU时间(%)   (nice/total)*100  

system: 在internal时间段里,核心时间(%)   (system/total)*100

iowait :在internal时间段里,硬盘IO等待时间(%) (iowait/total)*100

irq :在internal时间段里,硬中断时间(%)      (irq/total)*100

soft :在internal时间段里,软中断时间(%)    (softirq/total)*100

idle :在internal时间段里,CPU除去等待磁盘IO操作外的因为任何原因而空闲的时间闲置时间(%)(idle/total)*100

intr/s :在internal时间段里,每秒CPU接收的中断的次数intr/total)*100

CPU总的工作时间=total_cur=user+system+nice+idle+iowait+irq+softirq

total_pre=pre_user+ pre_system+ pre_nice+ pre_idle+ pre_iowait+ pre_irq+ pre_softirq

user=user_cur - user_pre

total=total_cur-total_pre

其中_cur 表示当前值,_pre表示interval时间前的值。上表中的所有值可取到两位小数点。

更加详细的mpstat操作请看:http://blog.sina.com.cn/s/blog_3dbab2840100j4ey.html

C. iostat:查看磁盘使用情况top命令已包含)

   iostat主要用于监控系统设备的IO负载情况,iostat首次运行时显示自系统启动开始的各项统计信息

 查看某一个磁盘使用情况:iostat -d sda 2(sda2是磁盘名称)

 D. vmstat:查看内存使用情况top命令已包含):更多的是对于内存交换的监控,显示所有与内存和进程相关信息的命令

一般vmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数

vmstat 2 1:2表示每个两秒采集一次服务器状态,1表示只采集一次

 vmstat 2:这表示vmstat每2秒采集数据,一直采集,直到我结束程序

 E. netstat:查看网络情况

 端口查看:netstat -ntlp(查看ip和端口)

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值