zoukankan      html  css  js  c++  java
  • 性能测试-Linux资源监控⽅式

     

    Linux资源监控⽅式

    1. 命令
    2. 第三⽅⼯具(nmon)
    3. LR(需要安装RPC相应服务包和开启服务)(略)
     

    ⼀、命令 ⽅式

      1. top (系统资源管理器)
      2. vmstat (查看虚拟内存状态)
      3. free(查看未使⽤的和已使⽤的内存数⽬)
      4. iostat (查看io磁盘信息)
      5. sar ⽹络
        1.1 命令 top(系统资源管理器)
        

          

    说明:
    1). top命令类似与windows的任务管理器,查看内存、CPU、进程等操作信息
    2). 在Linux系统中常⽤top命令做资源性能分析⼯具
    核⼼:
    1). 前五⾏显示系统整体的统计信息;
    2). load average 代表负载队列到现在平均⻓度(三个时间段),1分钟、5分钟、15分钟 【重点关注】
    参数:
    1). 第⼀⾏ 任务列队基本信息 【关注系统负载】
    - 06:49:14 :系统当前时间
    - up 2:32 :系统运⾏时间 2⼩时32分钟
    - 3 users:当前登录⽤户数
    - load average:系统负载,即任务队列的平均⻓度-(1分钟、5分钟、15分钟)到现在的平均⻓度
    2). 第⼆⾏ 进程列队信息 【了解】
    - Tasks : 201 total 进程总数
    - 2 running 正在运⾏进程数
    - 199 sleeping 睡眠进程数
    3). 第三⾏ CPU信息
    - 0.3 %us:⽤户空间占⽤CPU百分⽐
    - 0.3 %sy: 内核空间占⽤CPU百分⽐
    - 99.2%id: 空闲CPU百分⽐ 【关注】
    4). 第四⾏ 内存信息
    - Mem : 3908524k ktotal 物理内存总量
    - 1294032k k used 使⽤的物理内存总量
    - 2614492k k free 空闲内存总量 【关注】
    - 74352k k buffers ⽤作内核缓存的内存量
    5). 第五⾏ 交换区内存 【了解】
    - Swap : 4046844 k total 交换分区总量
    - 0 k used 使⽤的交换区总量
    - 4046844 k free 空闲交换区总量
    - 297720 k cached 缓冲的交换区总量

      

    1.2 命令 vmstat(查看内存明细)

    1. Procs(进程)
      r: 运⾏队列中进程数量,这个值也可以判断是否需要增加CPU。
    2. Memory(内存)
      swpd: 使⽤虚拟内存⼤⼩,如果swpd的值不为0,但是SI,SO的值⻓期为0,这种情况不会影响系统性能。
      free: 空闲物理内存⼤⼩。
    3. Swap
      si: 每秒从交换区写到内存的⼤⼩,由磁盘调⼊内存。
      so: 每秒写⼊交换区的内存⼤⼩,由内存调⼊磁盘。
    4. IO(现在的Linux版本块的⼤⼩为1kb)
      bi: 每秒读取的块数
      bo: 每秒写⼊的块数
    5. system(系统)
      in: 每秒中断数,包括时钟中断。
      cs: 每秒上下⽂切换数。
      注意:上⾯2个值越⼤,会看到由内核消耗的CPU时间会越⼤。
    6. CPU(以百分⽐表示)
      us:⽤户进程执⾏时间百分⽐(user time)
      sy:内核系统进程执⾏时间百分⽐(system time)
      id: 空闲时间百分⽐
      wa: IO等待时间百分⽐

    1.3 命令 free(查看内存) 【推荐】

    说明:显示当前系统未使⽤的和已使⽤的内存数⽬,还可以显示被内核使⽤的内存缓冲区。
    语法:free [options]
    常⽤:free -m (-m:以MB为单位显示内存使⽤情况)
    Mem⾏解释:
    total:内存总数;
    used:已经使⽤的内存数;
    free:空闲的内存数;
    shared:当前已经废弃不⽤;
    buffers Buffer:缓冲内存数;
    cached Page:缓存内存数。
    (-/+ buffers/cache)解释:
    (-buffers/cache) used内存数:第⼀部分Mem⾏中的 used – buffers – cached=程序占⽤内存数
    (+buffers/cache) free内存数: 第⼀部分Mem⾏中的 free + buffers + cached=可挪⽤内存数

    1.4 命令 iostat(查看io磁盘)

    说明:iostat是查看Linux系统io是否存在瓶颈很好⽤的⼀个命令;
    语法:
    Usage: iostat [ options ] [ [ ] ]
    options:选项 interval:间隔 count:计数
    常⽤:iostat -x 1 1
    (x:输出列,1:间隔1秒,1:采集1次)
    CPU:
    1.%user: 在⽤户级别运⾏所使⽤的CPU的百分⽐
    2.%sys: 在系统级别(kernel)运⾏所使⽤CPU的百分⽐
    3.%iowait: CPU等待硬件I/O时,所占⽤CPU百分⽐
    4.%idle: CPU空闲时间的百分⽐
    Device:【重点】
    1.tps: 每秒钟发送到的I/O请求数
    2.avgqu-sz: 是平均请求队列的⻓度,毫⽆疑问,队列⻓度越短越好
    3.await:每⼀个IO请求的处理的平均时间(单位是毫秒)
    4.rkB/s: 每秒读取数据量(单位kb)
    5.wkB/s: 每秒写⼊数据量(单位kb)
    6.%util: 磁盘的繁忙程度,如接近100%那说明磁盘已经到瓶颈

    1.5 命令 sar (查看⽹络)

    说明:sar命令可以通过参数单独查看系统某个局部的使⽤情况
    语法:sar [options] [-A] [-o file] t [n]
    1. 命令:sar -n DEV 1 2
    (-n:⽹络设备;DEV:磁盘设备)
    1). 1:表示⼀秒采集⼀次信息,可⾃⾏设定
    2). 2: 表示采集的次数,可⾃⾏设定
    2. 关注指标:
    1). rxkB/s: 每秒接收的数据⼤⼩,单位kb
    2). txkB/s: 每秒发送的数据⼤⼩,单位kb
    3. 使⽤场景:
    1). 查看当前⽹络数据包⼤⼩,是否存在⽹络瓶颈

    ⼆、⼯具 nmon

    说明: nmon 是分析 AIX 和 Linux 性能的免费⼯具。
    (其主要是IBM为⾃⼰的AIX操作系统开发的,但是也可以应⽤在其他Linux操作系统上)
     

    2.1 nmon使⽤步骤

    1. 解压⽂件
    2. 复制移动对应系统的nmon⼯具
    3. 执⾏⼯具
    4. 使⽤Excel分析⼯具分析

      1. 解压⽂件

    解压:tar -zxvf nmon_linux_14i.tar.gz
    注意:
    1.nmon_linux_14i.tar.gz对应的gz包名
    2.z:gzip压缩包;x:解压、v:详细信息、f:⽂件(必须放参数最后,⽂件前⾯)

    2. 移动/复制⽂件

     
    说明:
    1). rm:移动命令
    2). /tmp:移动到/tmp临时⽬录 (建议:直接放到 /usr/local/bin⽬录下)
    3). nmon:移动过去后重名命名为nmon 
     

    3. 运⾏ nmon 

     
    说明:./nmon -s3 -c10 -f -m /mnt/hgfs/vmwareShare/result
    (3秒钟采集⼀次,共采集10次,保存到/mnt/hgfs/vmwareShare/result)
    1)./nmon:当前⽬录下执⾏nmon⽂件
    2). -s:时⻓-采集数据频率
    3). -c:采集次数
    4). -f:⽣成⽂件名包含⽂件创建时间
    5). -m:指定⽣成⽂件保存⽬录
    提示:
    1. nmon⼯具只是采集结果,结果⽂件为.nmon,不能直接打开使⽤,需要使⽤Excel分析⼯具提取数据;

     4. Excel分析⼯具

    说明:
    1). 点击 标1 浏览nmon⽂件
    2). 点击 标2 打开nmon⽂件(分析完成后会提示保存为excel⽂件,选取保存路径进⾏保存) 
    提示:
    1). Excel需要开启宏设置;
    2). 如果提示加载⽂件类型错误,把电脑右下⻆的星期部分去掉(删除dddd); 
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    【Linux_Unix系统编程】Chapter4 文件IO
    【Unix网络编程】chapter6 IO复用:select和poll函数
    【Unix网络编程】 chapter5 TCP客户,服务器程序实例
    【Unix网络编程】chapter3 套接字编程简介
    VS自动编译脚本
    【Python编程:从入门到实践】chapter4 操作列表
    【Python编程:从入门到实践】chapter3 列表简介
    【Python编程:从入门到实践】chapter2 变量和简单数据类型
    【Unix网络编程】chapter2传输层:TCP,UDP和SCTP
    vim配置编辑php
  • 原文地址:https://www.cnblogs.com/snailon/p/11373779.html
Copyright © 2011-2022 走看看