zoukankan      html  css  js  c++  java
  • 性能测试--系统资源配置篇

    wget这个工具没有的话就需要安装

    yum install wget -y
    

    硬盘信息查看

    df -lh              查看磁盘剩余空间
    du -sh [目录名]      返回该目录的总大小,单位是G
    du -sm [文件夹]      返回该文件夹(目录)总大小,单位是M
    du -h [目录名]       查看指定文件夹下的所有文件的大小(包含该目录和子文件夹以及所有的文件,详细列出)
    df -a   全部的文件系统的使用情况         df -i      显示inode信息
    常用磁盘类型有机械盘:FC, SAS, SATA磁盘,固态硬盘有:SSD固态盘
    lsscsi      可以看到Raid卡信息和所有虚拟磁盘以及光驱的信息
    
    1、进入根目录:cd /
    2、使用命令 : du -sh * 查看根目录下每个文件夹的大小
    

    一、普通模式(该机硬盘没有做磁盘阵列)

    1、fdisk -l 查看你的硬盘编号,如sda,sdb 等(查看分区大小情况)
    2、smartctl --all /dev/sda
    或者hdparm -i /dev/sda查看
    说明:
    Device Model:磁盘型号
    user capacity:磁盘容量
    

    二、磁盘阵列 RAID模式

    1、fdisk -l 查看你的硬盘编号,如sda,sdb 等
    

    法一:Dell服务器自带的包srvadmin命令查看

    a. 启动srvadmin服务
    /opt/dell/srvadmin/sbin/srvadmin-services.sh start
    b.停用srvadmin服务
    srvadmin-services.sh stop
    

    显示系统摘要信息

    omreport chassis info
    说明:
    Chassis Model #服务器型号
    Express Service Code #快速服务代码(可在在官网查询服务器保修时间)
    Chassis Service Tag #服务标签
    

    查看物理磁盘信息

    omreport storage pdisk controller=0
    说明:
    Vendor ID #供应商ID
    Product ID #磁盘ID (磁盘型号)
    Serial No. #序列号
    Part Number #部件号
    Revision #修订
    Manufacture Day #磁盘制造日期(日)
    Manufacture Week #磁盘制造日期(周)
    Manufacture Year #磁盘制造日期(年份)
    Capacity #磁盘容量
    Used RAID Disk Space #已用 RAID 磁盘空间
    Available RAID Disk Space #可用 RAID 磁盘空间
    Sector Size #扇区大小
    Hot Spare #是否热备份
    Bus Protocol #总线协议
    Media #介质
    Negotiated Speed #协商速度
    Capable Speed #支持速度
    

    查看虚拟硬盘的状态(阵列信息)

    omreport storage vdisk controller=0
    说明:
    Status #阵列状态
    Layout #阵列卡类型
    Size #阵列空间大小
    Bus Protocol #总线协议
    Media #介质
    

    显示内存信息(内存插槽信息)

    omreport chassis memory
    说明:
    Installed Capacity #安装容量
    Maximum Capacity #最大容量
    Total Installed Capacity Available to the OS #操作系统可用的总安装容量
    Slots Available #可用的插槽
    Slots Used #已用插槽
    Connector Name #连接器上的内存设备
    Type #内存类型(型号)
    Size #单条内存大小
    

    CPU处理器信息

    omreport chassis processors
    说明:
    Processor Brand #处理器品牌 (型号)
    Processor Version #处理器版本
    Current Speed #当前速度
    Core Count #核心数
    

    CPU处理器详细信息

    omreport chassis processors index=0
    说明:
    64-bit Support #64 位支持
    HyperThreading(HT) #超线程 (HT)  (enable为yes表启用)
    Virtualization Technology(VT) #虚拟化技术 (VT)
    Demand Based Switching(DBS) #按需切换技术 (DBS)	
    

    显示系统主要组件的温度

    omreport chassis temps
    说明:
    Reading #当前温度
    Minimum Warning Threshold #警告阈值最小温度
    Maximum Warning Threshold #警告阈值最大温度
    Minimum Failure Threshold #故障阈值最小温度
    Maximum Failure Threshold #故障阈值最大温度
    

    风扇探测器信息

    omreport chassis fans
    说明:
    Reading #当前风扇转速(转/分)
    Minimum Failure Threshold #故障阈值最小(转/分)
    

    电源管理

    omreport chassis pwrmonitoring
    说明:
    Reading #当前功耗
    Warning Threshold #警告阈值功耗
    Failure Threshold #故障阈值功耗
    Power Headroom #电源净空
    System Instantaneous Headroom #系统瞬时净空
    System Peak Headroom #系统峰值净空
    
    电源设备信息
    omreport chassis pwrsupplies
    说明:
    Rated Input Wattage #额定输入瓦特
    Maximum Output Wattage #最大输出瓦特
    

    omreport storage adisk controller=0 # 查看磁盘陈列中的硬盘状态

    omreport storage controller # 查看控制器(即RAID卡)的属性

    omreport chassis # 显示所有主要组件的常规状态

    需要先安装OMSA才能用omreport命令(戴尔系统默认已安装)

    wget -q -O - http://linux.dell.com/repo/hardware/latest/bootstrap.cgi | bash
    yum install -y net-snmp net-snmp-devel net-snmp-utils wget perl OpenIPMI
    yum  -y install srvadmin-all                           #安装路径:/opt/dell/srvadmin/
    /opt/dell/srvadmin/sbin/srvadmin-services.sh start     #启动OMSA
    ln -s /opt/dell/srvadmin/bin/omreport /usr/local/bin/
    

    法二:MegaCli命令查看

    MegaCli安装(在线安装)

    wget ftp://download2.boulder.ibm.com/ecc/sar/CMA/XSA/ibm_utl_sraidmr_megacli-8.00.48_linux_32-64.zip
    chmod 744 ibm_utl_sraidmr_megacli-8.00.48_linux_32-64.zip
    unzip ibm_utl_sraidmr_megacli-8.00.48_linux_32-64.zip        解压
    cd linux/        切换到安装包目录
    rpm -ivh Lib_Utils-1.00-09.noarch.rpm MegaCli-8.00.48-1.i386.rpm       使用rpm安装
    rpm -ql MegaCli-8.00.48-1.i386       查看文件安装在哪
    ln -s /opt/MegaRAID/MegaCli/MegaCli64 /bin/MegaCli64        做个软链接
    ln -s /opt/MegaRAID/MegaCli/MegaCli64 /sbin/MegaCli64
    

    若系统中存在srvadmin,则安装时会报“Lib_Utils和Dell服务器自带的包srvadmin冲突”

    查看RAID控制器的数量

    MegaCli64 -adpCount 
    

    查看所有raid卡详细信息

    MegaCli64 -AdpAllInfo -aALL
    说明:Adapter #0  表示第一个raid卡
    Product Name    表示raid卡的型号
    

    查看硬盘信息

    MegaCli64 -PDList -aALL
    说明:
    Adapter#0   -----raid卡控制器编号
    EnclosureDevice ID: 252   -----外壳设备ID,也就是raid卡的ID号
    SlotNumber: 4    ------槽号
    Enclosureposition: 0   ------外壳位置
    DeviceId: 49  -----设备ID
    SequenceNumber: 2   -----序号
    Media Error Count: 0  -----介质错误计数
    Other Error Count: 0  -----其它错误计数
    Predictive Failure Count: 0 -----预测故障计数
    PD Type:SATA   -----磁盘接口类型
    Raw Size:3.638 TB [0x1d1c0beb0 Sectors]   -----磁盘原始大小
    NonCoerced Size: 3.637 TB [0x1d1b0beb0 Sectors]  -----磁盘标准大小
    CoercedSize: 3.637 TB [0x1d1b00000 Sectors]  ------磁盘最大可用大小
    Firmware state: Unconfigured(good),Spun down   -----固件状态:未配置(好的),未连接
    ConnectedPort Number: 3(path0)   ------连接端口号
    InquiryData:     Z1ZBBJWW     ST4000NM0033-9ZM170     SN06    -----硬盘的序列号、型号、固件版本
    DriveTemperature : N/A   ----设备温度
    
    需要特别关注这几个指标:Media Error / Other Error / Predictive Failure Count / LastPredictive Failure Event Seq Number
    
    信息过滤:-E参数是使用扩展正则表达式来过滤       -i参数是不区分大小写来过滤
    
    MegaCli64 -PDList -aALL|grep -Ei "(EnclosureDevice|Slot Number|PD Type|Raw Size|Inquiry Data|Firmware state|ForeignState)"          ----精过滤
    说明:
    Enclosure Device过滤出raid卡的ID;Slot Number过滤出磁盘的槽号;Raw Size过滤出磁盘的大小;Inquiry Data 过滤出磁盘的序列号、型号固件版本;Firmware state过滤出磁盘的状态;
    

    测试硬盘读写速度

    hdparm -Tt /dev/sda
    说明:
      -t   评估硬盘的读取效率。
      -T  评估硬盘快取的读取效率。
    

    CPU信息查看

    显示cup的型号和线程情况(线程总数)

    grep "model name" /proc/cpuinfo |awk -F ':' '{print $NF}'
    

    查看CPU型号

    grep name /proc/cpuinfo
    cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
    

    查看物理cpu个数:

    cat /proc/cpuinfo |grep "physical id"|sort|uniq|wc -l
    

    查看每个物理cpu中的core个数(即核数):

    cat /proc/cpuinfo| grep "cpu cores"| uniq
    

    逻辑cpu的个数(线程数):

    cat /proc/cpuinfo |grep "processor"|wc -l
    
    物理cpu个数*核数=逻辑cpu个数(不支持超线程技术的情况下)
    总核数 = 物理CPU个数 X 每颗物理CPU的核数 
    总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数
    逻辑CPU数即线程数,超线程即每个核心不止一个线程,超线程数即每核拥有的线程数
    若物理CPU个数是2,core个数是4,逻辑CPU数为16,则即为2个CPU四核16线程,每核为2线程
    

    显示CPU总概况

    lscpu
    说明:
      Architecture: #架构 
      CPU(s): #逻辑cpu颗数 
      Thread(s) per core: #每个核心线程数 
      Core(s) per socket: #每个cpu插槽核数/每颗物理cpu的核数 
      socket(s): #cpu插槽数 (物理CPU的个数)
      Vendor ID: #cpu厂商ID 
      CPU family: #cpu系列 
      Model name: #CPU型号 
      Stepping: #步进 
      CPU MHz: #cpu主频 
      Virtualization: #cpu支持的虚拟化技术 
      L1d cache: #一级缓存(google了下,这具体表示表示cpu的L1数据缓存) 
      L1i cache: #一级缓存(具体为L1指令缓存) 
      L2 cache: #二级缓存
    

    查看cpu详细信息

    cat /proc/cpuinfo 
    说明:
    processor :系统中逻辑处理核的编号。对于单核处理器,则课认为是其CPU编号,对于多核处理器则可以是物理核、或者使用超线程技术虚拟的逻辑核
    vendor_id :CPU制造商     
    cpu family :CPU产品系列代号
    model   :CPU属于其系列中的哪一代的代号
    model name:CPU属于的名字及其编号、标称主频
    stepping   :CPU属于制作更新版本
    cpu MHz   :CPU的实际使用主频
    cache size   :CPU二级缓存大小
    physical id   :单个CPU的标号
    siblings       :单个CPU逻辑物理核数
    core id        :当前物理核在其所处CPU中的编号,这个编号不一定连续
    cpu cores    :该逻辑核所处CPU的物理核数
    apicid          :用来区分不同逻辑核的编号,系统中每个逻辑核的此编号必然不同,此编号不一定连续
    fpu             :是否具有浮点运算单元(Floating Point Unit)
    fpu_exception  :是否支持浮点计算异常
    cpuid level   :执行cpuid指令前,eax寄存器中的值,根据不同的值cpuid指令会返回不同的内容
    wp             :表明当前CPU是否在内核态支持对用户空间的写保护(Write Protection)
    flags          :当前CPU支持的功能
    bogomips   :在系统内核启动时粗略测算的CPU速度(Million Instructions Per Second)
    clflush size  :每次刷新缓存的大小单位
    cache_alignment :缓存地址对齐单位
    address sizes     :可访问地址空间位数
    

    内存信息查看

    命令安装

    yum install -y dmidecode
    

    查看内存卡槽总数及内存条详细信息(含内存型号Type、频率Speed、大小Size)

    dmidecode -t memory
    

    查看内存的插槽数,已经使用多少插槽(有多少内存条).每条内存条是多大

    dmidecode -t memory | grep Size
    

    查看内存总大小和使用情况

    free -m
    说明:
    total used free shared buffers cached
    Mem: 1002 769 232 0 62 421
    -/+ buffers/cache: 286 715
    Swap: 1153 0 1153
    
    第一部分Mem(物理内存)行:
    total 内存总数: 1002M
    used 已经使用的内存数: 769M
    free 空闲的内存数: 232M
    shared 当前已经废弃不用,总是0
    buffers Buffer 缓冲缓存内存数: 62M
    cached Page 页面缓存内存数:421M
    
    关系:total(1002M) = used(769M) + free(232M)
    第二部分(-/+ buffers/cache):
    (-buffers/cache) used内存数:286M (指的第一部分Mem行中的used – buffers – cached)
    (+buffers/cache) free内存数: 715M (指的第一部分Mem行中的free + buffers + cached)
    
    可见-buffers/cache反映的是被程序实实在在吃掉的内存,而+buffers/cache反映的是可以挪用的内存总数.
    第三部分是指交换分区,虚拟内存,用于扩充物理内存不足而用来存储临时数据存在的
    总共1153M,已用0,空闲1153M
    

    经验公式:

    应用程序可用内存/系统物理内存>70%,表示系统内存资源非常充足,不影响系统性能;
    应用程序可用内存/系统物理内存<20%,表示系统内存资源紧缺,需要增加系统内存;
    20%<应用程序可用内存/系统物理内存<70%,表示系统内存资源基本能满足应用需求,暂时不影响系统性能
    
    对操作系统来讲是Mem的参数.buffers/cached 都是属于被使用,所以它认为free只有232.
    对应用程序来讲是(-/+ buffers/cach).buffers/cached 是等同可用的,因为buffer/cached是为了提高程序执行的性能,当程序使用内存时,buffer/cached会很快地被使用
    
    Buffer Cache和Page Cache.前者针对磁盘块的读写,后者针对文件inode的读写.这些Cache能有效缩短了 I/O系统调用(比如read,write,getdents)的时间.也就是说:buffers是用来存储接受的数据,而cached是用来保存我们处理完毕的数据
    
    只要不用swap的交换空间,就不用担心自己的内存太少.如果常常swap用很多,可能你就要考虑加物理内存了.这也是linux看内存是否够用的标准
    
    $ free -g   是以G为单位计算内存
    $ free -hs 3    每3秒统计一次内存利用率并且适于人类可读
    

    查看内存信息

    cat /proc/meminfo
    

    查看当前操作系统内核信息

    uname -a
    

    查看主板的序列号

    dmidecode |grep -i 'serial number' |grep CN
    

    查看内核版本

    cat /proc/version
    

    查看网卡型号

    lspci | grep Ethernet
    

    查看网卡信息

    dmesg | grep -i eth
    

    查看服务器品牌、型号、序列号

    dmidecode | grep "System Information" -A9 | egrep "Manufacturer|Product|Serial"
    

    查看系统启动信息

    dmesg |grep sda
    

    查看各个设备中断请求(IRQ)

    cat /proc/interrupts
    

    监测工具

    我们只需要简单的工具就可以对 Linux 的性能进行监测,以下是 VPSee 常用的工具:
    工具    简单介绍
    top    查看进程活动状态以及一些系统状况
    vmstat    查看系统状态、硬件和系统信息等
    iostat    查看CPU 负载,硬盘状况
    sar    综合工具,查看系统状况
    mpstat    查看多处理器状况
    netstat    查看网络状况
    iptraf    实时网络状况监测
    tcpdump    抓取网络数据包,详细分析
    tcptrace    数据包分析工具
    netperf    网络带宽工具
    dstat    综合工具,综合了 vmstat, iostat, ifstat, netstat 等多个信息
  • 相关阅读:
    程序笔记
    2011年11月28日学习重构
    经典到发狂的语录(某男日记摘录)
    每天养成好习惯
    jquery用法
    [读书笔记]软件架构师应该知道的97件事
    Entity Framework 4.2发布,部分更新等待.NET Framework 4.5
    我的阅书记录及相关专业书籍推荐(更新于2017.12)
    [2011 年终项目总结] 第四章、架构设计
    [2011 年终项目总结] 第五章、迭代开发
  • 原文地址:https://www.cnblogs.com/jun-zi/p/12123101.html
Copyright © 2011-2022 走看看