性能测试--系统资源配置篇
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 等多个信息