目录
1. 服务器硬件数据的收集
1.1 查看硬件设备:dmidecode
dmidecode命令的作用是以一种可读的方式显示机器的DMI(Desktop Management Interface)信息, 其输出的信息包括 BIOS、系统、主板、处理器、内存、缓存等等, 既可以得到当前的配置,也可以得到系统支持的最大配置,比如说支持的最大内存数等
DMI就是帮助收集电脑系统信息的管理系统,DMI信息的收集必须在严格遵照SMBIOS规范的前提下进行。DMI设计适用于任何的平台和操作系统。由于DMI信息可以人为修改,因此里面的信息不一定是系统准确的信息
[root@study ~] dmidecode [参数]
-d : 从设备文件读取信息,输出内容与不加参数标准输出相同
-h : 显示帮助信息
-s : 只显示指定DMI字符串的信息
-t : 只显示指定条目的信息
-u : 显示未解码的原始条目内容
-- -dump-bin file : 将DMI数据转储到一个二进制文件中
-- -from-dump FILE : 从一个二进制文件读取DMI数据
-V : 显示版本信息
The SMBIOS specification defines the following DMI types:
Type | Information |
---|---|
0 | BIOS |
1 | System |
2 | Baseboard |
3 | Chassis |
4 | Processor |
5 | Memory Controller |
6 | Memory Module |
7 | Cache |
8 | Port Connector |
9 | System Slots |
10 | On Board Devices |
11 | OEM Strings |
12 | System Configuration Options |
13 | BIOS Language |
14 | Group Associations |
15 | System Event Log |
16 | Physical Memory Array |
17 | Memory Device |
18 | 32-bit Memory Error |
19 | Memory Array Mapped Address |
20 | Memory Device Mapped Address |
21 | Built-in Pointing Device |
22 | Portable Battery |
23 | System Reset |
24 | Hardware Security |
25 | System Power Controls |
26 | Voltage Probe |
27 | Cooling Device |
28 | Temperature Probe |
29 | Electrical Current Probe |
30 | Out-of-band Remote Access |
31 | Boot Integrity Services |
32 | System Boot |
33 | 64-bit Memory Error |
34 | Management Device |
35 | Management Device Component |
36 | Management Device Threshold Data |
37 | Memory Channel |
38 | IPMI Device |
39 | Power Supply |
40 | Additional Information |
41 | Onboard Devices Extended Information |
42 | Management Controller Host Interface |
范例1:
显示整个系统的硬件信息,例如主板型号等
[root@study ~] dmidecode -t 1
范例2:
查看内存相关信息
[root@study ~] dmidecode -t 17
1.2 硬件资源的收集与分析
Linux提供了几个简单的命令来将内核所检测到的硬件显示出来,常见命令如下:
- gdisk:是一个命令界面的用于创建和操作分区表的工具
- dmesg:被用于检查和控制内核的环形缓冲区
- vmstat:显示虚拟内存状态,但是它可以报告关于进程、内存、I/O等系统整体运行状态
- lspci:用于显示当前主机的所有PCI总线信息,以及所有已连接的PCI设备信息
- lsusb:用于显示本机的USB设备列表,以及USB设备的详细信息
- iostat:用于监视系统输入输出设备和CPU的使用情况
1.2.0 显示当前主机的所有PCI总线信息:lspci
lspci命令用于显示当前主机的所有PCI总线信息,以及所有已连接的PCI设备信息。 现在主流设备如网卡储存等都采用PCI总线
[root@study ~] lspci [参数]
-n : 以数字方式显示PCI厂商和设备代码
-t : 以树状结构显示PCI设备的层次关系
-b : 以总线为中心的视图
-s : 仅显示指定总线插槽的设备和功能块信息
-i : 指定PCI编号列表文件,不使用默认文件
-m : 以机器可读方式显示PCI设备信息
范例:
查看系统内的PCI相关设备
[root@study ~] lspci
范例:
查看以太网卡的具体信息
[root@study ~] lspci -s 03:00.0 -vv
1.2.1 显示本机USB设备的详细信息:lsusb
lsusb命令用于显示本机的USB设备列表,以及USB设备的详细信息
[root@study ~] lsusb [参数]
-v : 显示USB设备的详细信息
-s<总线:设备号> : 仅显示指定的总线和(或)设备号的设备
-d<厂商:产品> : 仅显示指定厂商和产品编号的设备
-t : 以树状结构显示无理USB设备的层次
-V : 显示命令的版本信息
范例:
列出主机USB各端口状态
[root@study ~] lsusb
1.2.2 监视系统输入输出设备和CPU的使用情况:iostat
iostat被用于监视系统输入输出设备和CPU的使用情况。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况
[root@study ~] iostat [参数] [设备]
-c : 仅显示CPU使用情况
-d : 仅显示设备利用率
-k : 显示状态以千字节每秒为单位,而不使用块每秒
-m : 显示状态以兆字节每秒为单位
-p : 仅显示块设备和所有被使用的其他分区的状态
-t : 显示每个报告产生时的时间
范例:
显示目前整个系统的CPU与存储设备的状态
[root@study ~] iostat
上半部分显示CPU当前信息
下半部分:
字段 | 含义 |
---|---|
tps | 平均每秒的传送次数,与数据传输【次数】有关,非容量 |
kB_read/s | 开机到现在平均的读取单位 |
kB_wrtn/s | 开机到现在平均的写入单位 |
kB_read | 开机到现在总共读出来的数据 |
kB_wrtn | 开机到现在总共写入的数据 |
范例:
仅针对sda,每两秒检测一次,共检测三次
[root@study ~] iostat -d 2 3 sda
1.3 了解磁盘的健康状态
SMART(Self-Monitoring,Analysis and Reporting Technology System)主要用来监测目前常见的 ATA 与 SATA 接口的磁盘,被监测的磁盘也必须支持SMART的协议
Control and Monitor Utility for SMART Disks:smartctl命令
[root@study ~] smartctl [options] device
--health [/dev/sdX] : View SMART health summary
--info [/dev/sdX] : View device information
--test short [/dev/sdX] : Begin a short self-test
--capabilities [/dev/sdX] : View current/last self-test status and other SMART capabilities
--log selftest [/dev/sdX] : View SMART self-test log (if supported)