Linux?服務器硬件數據的收集及使用案例
在Linux服務器上,可以使用一些命令來收集硬件數據,比如:
dmidecodedmidecode是一款在Linux系統中用于獲取計算機硬件系統信息的工具,可以獲取到主板、BIOS、CPU、內存、硬盤等硬件信息。下面對dmidecode命令進行詳解:
dmidecode [options]常用選項:
-t :指定要顯示的硬件類型,如1表示顯示主板信息,2表示顯示內存信息,4表示顯示CPU信息等。-s :指定要顯示的硬件關鍵字,如system-manufacturer表示顯示系統制造商。-u :以二進制格式顯示DMI數據。-q :只顯示硬件數據,不顯示額外信息。dmidecode支持的數字參數如下:
編號信息0計算機的基本輸入輸出系統,是計算機啟動時加載的程序1計算機系統的基本信息,如制造商、型號、序列號等2主板的詳細信息,如制造商、型號、序列號等3機箱的詳細信息,包括制造商、型號、序列號等4CPU 的詳細信息,包括制造商、型號、頻率等5內存控制器的詳細信息,包括制造商、型號、頻率等6內存模塊的詳細信息,包括制造商、型號、容量等7CPU 緩存的詳細信息,包括緩存級別、容量等8接口連接器的詳細信息,如USB、SATA、PCI-E等9系統插槽的詳細信息,如PCI-E插槽、內存插槽等10主板上的集成設備,如網卡、聲卡等11OEM廠商的信息12系統配置選項的詳細信息,如BIOS設置等13BIOS的語言信息14組關聯信息15系統事件日志信息16物理內存信息17內存設備的詳細信息,如制造商、型號、容量等1832位內存錯誤信息19內存陣列映射地址的信息20內存設備映射地址的信息21內置指針設備的信息,如觸摸板、指點桿等22便攜電池的信息23系統重置信息24硬件安全信息,如TPM25系統電源控制信息26電壓探頭的信息27散熱設備的信息,如CPU散熱器、機箱風扇等28溫度探頭的信息29電流探頭的信息30遠程訪問信息31啟動完整性服務的信息32系統啟動信息3364位內存錯誤信息34管理設備的信息35管理設備組件的信息36管理設備閾值數據的信息37內存通道的信息,如單通道、雙通道等38IPMI設備的信息39電源的信息40額外的信息41擴展的集成設備信息42管理控制器主機接口的信息使用案例顯示BIOS版本號
[root@localhost ~]# dmidecode -s bios-version6.00顯示整個系統的硬件信息,例如主板型號
[root@localhost ~]# dmidecode -t 2# dmidecode 3.2Getting SMBIOS data from sysfs.SMBIOS 2.7 present.Handle 0x0002, DMI type 2, 15 bytesBase Board InformationManufacturer: Intel CorporationProduct Name: 440BX Desktop Reference PlatformVersion: NoneSerial Number: NoneAsset Tag: Not SpecifiedFeatures: NoneLocation In Chassis: Not SpecifiedChassis Handle: 0x0000Type: UnknownContained Object Handles: 0顯示整個系統的CPU信息
..................Handle 0x0082, DMI type 4, 42 bytesProcessor InformationSocket Designation: CPU #127Type: Central ProcessorFamily: UnknownManufacturer: GenuineIntelID: EA 06 00 00 FF FB 8B 1FVersion: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHzVoltage: 3.3 VExternal Clock: UnknownMax Speed: 30000 MHzCurrent Speed: 2600 MHzStatus: Populated, Disabled By BIOSUpgrade: ZIF SocketL1 Cache Handle: 0x0112L2 Cache Handle: 0x0192L3 Cache Handle: Not ProvidedSerial Number: Not SpecifiedAsset Tag: Not SpecifiedPart Number: Not SpecifiedCore Count: 4Core Enabled: 4Characteristics:64-bit capableMulti-CoreExecute Protectionlspcilspci是Linux系統中的一個命令,它可以列出計算機中所有PCI設備的信息,包括顯示卡、聲卡、網卡等等。可以理解為,lspci是一個工具,它幫助我們查看計算機中的硬件設備。
lspci [-vvn]選項:-v:顯示更多的PCI設備的詳細信息-vv:比-v還要更詳細的詳細信息-n:直接查看PCI的ID而不是廠商名稱-s:只顯示指定設備的信息使用案例去看系統內的PCI相關設備
[root@localhost ~]# lspci 00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 01)00:01.0 PCI bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 01)00:07.0 ISA bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 08)00:07.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)00:07.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 08)00:07.7 System peripheral: VMware Virtual Machine Communication Interface (rev 10)00:0f.0 VGA compatible controller: VMware SVGA II Adapter00:10.0 SCSI storage controller: Broadcom / LSI 53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (rev 01)00:11.0 PCI bridge: VMware PCI bridge (rev 02)00:15.0 PCI bridge: VMware PCI Express Root Port (rev 01)00:15.1 PCI bridge: VMware PCI Express Root Port (rev 01)00:15.2 PCI bridge: VMware PCI Express Root Port (rev 01)00:15.3 PCI bridge: VMware PCI Express Root Port (rev 01)00:15.4 PCI bridge: VMware PCI Express Root Port (rev 01)00:15.5 PCI bridge: VMware PCI Express Root Port (rev 01)00:15.6 PCI bridge: VMware PCI Express Root Port (rev 01)00:15.7 PCI bridge: VMware PCI Express Root Port (rev 01)00:16.0 PCI bridge: VMware PCI Express Root Port (rev 01)00:16.1 PCI bridge: VMware PCI Express Root Port (rev 01)00:16.2 PCI bridge: VMware PCI Express Root Port (rev 01)00:16.3 PCI bridge: VMware PCI Express Root Port (rev 01)00:16.4 PCI bridge: VMware PCI Express Root Port (rev 01)00:16.5 PCI bridge: VMware PCI Express Root Port (rev 01)00:16.6 PCI bridge: VMware PCI Express Root Port (rev 01)00:16.7 PCI bridge: VMware PCI Express Root Port (rev 01)00:17.0 PCI bridge: VMware PCI Express Root Port (rev 01)00:17.1 PCI bridge: VMware PCI Express Root Port (rev 01)00:17.2 PCI bridge: VMware PCI Express Root Port (rev 01)00:17.3 PCI bridge: VMware PCI Express Root Port (rev 01)00:17.4 PCI bridge: VMware PCI Express Root Port (rev 01)00:17.5 PCI bridge: VMware PCI Express Root Port (rev 01)00:17.6 PCI bridge: VMware PCI Express Root Port (rev 01)00:17.7 PCI bridge: VMware PCI Express Root Port (rev 01)00:18.0 PCI bridge: VMware PCI Express Root Port (rev 01)00:18.1 PCI bridge: VMware PCI Express Root Port (rev 01)00:18.2 PCI bridge: VMware PCI Express Root Port (rev 01)00:18.3 PCI bridge: VMware PCI Express Root Port (rev 01)00:18.4 PCI bridge: VMware PCI Express Root Port (rev 01)00:18.5 PCI bridge: VMware PCI Express Root Port (rev 01)00:18.6 PCI bridge: VMware PCI Express Root Port (rev 01)00:18.7 PCI bridge: VMware PCI Express Root Port (rev 01)02:00.0 USB controller: VMware USB1.1 UHCI Controller02:01.0 Ethernet controller: Intel Corporation 82545EM Gigabit Ethernet Controller (Copper) (rev 01)02:02.0 Multimedia audio controller: Ensoniq ES1371/ES1373 / Creative Labs CT2518 (rev 02)02:03.0 USB controller: VMware USB2 EHCI Controller不必加任何參數,就能夠顯示出目前主機上面的各個PCI設備
如果你要知道以太網的詳細信息
[root@localhost ~]# lspci -s 00:03.0 -vv/usr/share/hwdata/pci.ids
其實那個就是PCI的標準ID與品牌名稱的對于表。此外,剛剛我們使用lspci時,其實所有數據都是從 /proc/bus/pci/ 目錄中獲取的。不過由于硬件發展太過迅速,所以你的 pci.ids 文件可能會落伍,可以使用下面的方式來在線更新你的對應文件
[root@localhost ~]# update-pciidslsusblsusb命令用于列出系統中所有的USB設備信息,包括USB控制器、USB設備及其屬性等。具體使用方法如下:
lsusb [-t]選項:-t:以樹形結構顯示設備信息-s [bus]:[device]:只顯示指定總線(bus)和設備(device)的信息,例如 lsusb -s 001:002。-d [vendor]:[product]:只顯示指定供應商(vendor)和產品(product)的信息,例如 lsusb -d 045e:00cb。使用案例列出目前主機USB各端口狀態
[root@localhost ~]# lsusbBus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hubBus 002 Device 004: ID 0e0f:0008 VMware, Inc. Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB HubBus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual MouseBus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hubiostatiostat是一個Linux系統性能監控工具,用于顯示CPU、磁盤和tty設備的統計信息。
如果沒有這個軟件就執行如下命令安裝它
yum install -y sysstat
iostat [選項] [間隔時間] [次數]選項:-c:顯示CPU的統計信息-d:顯示磁盤的統計信息-k:以KB為單位顯示統計信息-m:以MB為單位顯示統計信息-t:顯示時間戳使用案例顯示一下目前整個系統的CPU與存儲設備的狀態
[root@localhost ~]# iostat Linux 3.10.0-1160.el7.x86_64 (localhost.localdomain) 2023年05月25日 _x86_64_(8 CPU)avg-cpu: %user %nice %system %iowait %steal %idle 0.28 0.00 0.87 0.00 0.00 98.85Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtnsda 1.2624.06 8.13 545074 184191scd0 0.00 0.05 0.00 1028 0輸出詳解:
1.第一行:顯示Linux系統的版本信息、當前日期和時間、CPU的架構和數量。
2.第二行:顯示CPU的利用率統計信息,包括以下各列:
%user:表示用戶進程占用CPU時間的百分比。
%nice:表示“優先級較高的進程”占用CPU時間的百分比。
%system:表示內核占用CPU時間的百分比。
%iowait:表示CPU等待I/O操作完成的時間占用的百分比。
%steal:表示虛擬機監控程序(如KVM)偷取CPU時間的百分比。
%idle:表示CPU空閑時間的百分比。
3.第三行:顯示磁盤I/O統計信息,包括以下各列:
Device:表示磁盤設備的名稱。
tps :平均每秒鐘的傳送次數,與數據傳輸【次數】有關,非容量
KB_read/s:開機到現在平均的讀取單位
KB_wrtn/s:開機到現在平均的寫入單位
KB_read:開機到現在,總共讀出來的數據
KB_wrtn:開機到現在,總共寫入的數據
僅針對sda,每兩秒檢測一次,并且共檢測三次存儲設備
[root@localhost ~]# iostat -d 2 3 sdaLinux 3.10.0-1160.el7.x86_64 (localhost.localdomain) 2023年05月25日 _x86_64_(8 CPU)Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtnsda 1.2423.25 8.07 545074 189201Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtnsda 1.00 0.0010.75 0 21Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtnsda 0.00 0.00 0.00 0 0仔細看看,如果是有檢測次數的情況,那么第一次顯示的是【從開機到現在的數據】
第二次以后所顯示的數據則代表兩次檢測之間的系統傳輸值,舉例來說,上面的信息中,
第二次顯示的數據,則是兩秒鐘內(本案例)系統的總傳輸量的平均值
了解磁盤的健康狀態其實Linux服務器最重要的就是【數據安全】,而數據都是放在磁盤當中的,所以,無時無刻了解以下你的磁盤健康狀況,應該是個好習慣。我呢提提,你怎么知道你的磁盤是好還是壞?
smartctl是smartmontools軟件包中的命令行工具,用于讀取和顯示磁盤的S.M.A.R.T(Self-Monitoring, Analysis and Reporting Technology)信息。S.M.A.R.T是一種嵌入在計算機硬件中的技術,可以在磁盤上記錄各種故障預測和錯誤信息,從而提前預測磁盤故障并采取相應措施。
smartctl命令的基本語法如下:
smartctl [options] device其中,device參數指定要顯示S.M.A.R.T信息的磁盤設備,可以是設備文件名(如/dev/sda)、磁盤代號(如sda)或磁盤路徑(如/sys/block/sda)。下面是一些常用的選項和參數:
-a:顯示磁盤的所有S.M.A.R.T信息。-H:顯示磁盤的健康狀態-i:顯示磁盤的基本信息,包括制造商、型號、序列號、固件版本等。-l error:顯示磁盤的錯誤日志。-t [testname]:執行磁盤的自測,testname參數指定自測的類型,如short(短自測)、long(長自測)等。除了以上常用選項,smartctl命令還支持許多其他選項,可以使用“man smartctl”命令查看完整的手冊。
使用案例用smartctl 顯示完整的 /dev/sda 的信息
[root@localhost ~]# smartctl -a /dev/sdb smartctl 7.0 2018-12-30 r4883 [x86_64-linux-3.10.0-1160.el7.x86_64] (local build)Copyright (C) 2002-18, Bruce Allen, Christian Franke, www.smartmontools.org=== START OF INFORMATION SECTION ===Vendor: VMware,Product: VMware Virtual SRevision: 1.0User Capacity:21,474,836,480 bytes [21.4 GB]Logical block size: 512 bytesRotation Rate:Solid State DeviceDevice type: diskLocal Time is:Thu May 25 16:08:23 2023 CSTSMART support is: Unavailable - device lacks SMART capability.=== START OF READ SMART DATA SECTION ===Current Drive Temperature: 0 CDrive Trip Temperature:0 CError Counter logging not supportedDevice does not support Self Test logging查看磁盤的健康狀態
[root@localhost ~]# smartctl -H /dev/sdb smartctl 7.0 2018-12-30 r4883 [x86_64-linux-3.10.0-1160.el7.x86_64] (local build)Copyright (C) 2002-18, Bruce Allen, Christian Franke, www.smartmontools.org=== START OF READ SMART DATA SECTION ===SMART Health Status: OK到此這篇關于Linux 服務器硬件數據的收集的文章就介紹到這了,更多相關Linux 服務器硬件數據的收集內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
