Linux最常用的几个查看硬件信息的命令

Linux最常用的几个查看硬件信息的命令
仅个人想法,会持续不间断更新和改进。

怎么忽然来硬的呢,因为在Linux的世界中,系统是灵活,但是骨架同样重要。

而跟踪确认硬件信息对于我们同样重要。

查看块设备的lsblk

lsblk 命令可以查看系统中的块设备信息$ lsblk

这个命令会列出系统中所有的块设备(比如硬盘、分区和挂载点)的信息。

默认情况下,它会显示每个设备的名称、大小、类型、挂载点等信息。

如果需要显示更详细的信息,可以使用 -a--all 选项:$ lsblk -a

这会显示完整的块设备信息,包括未挂载的设备。

当然,还可以根据需求,定制化输出,不过单单这个命令,足矣。

显示管理磁盘分区 fdisk

fdisk是用于检查一个磁盘上分区信息最通用的命令。

fdisk可以显示分区信息及一些细节信息,比如文件系统类型等。

设备的名称通常是/dev/sda、/dev/sdb 等。

对于以前的设备有可能还存在设备名为 /dev/hd* (IDE)的设备,这个设备逐步淘汰了。

fdisk也可以用于创建并操控分区表信息,支持主任GPU、MBR、Sun、SGI和BSD。

块设备可以划分为一个或多个称为分区的逻辑磁盘。这种划分的记录会保存在分区表,通常位于磁盘的第 0 扇区。

fdisk的官方解释为:

fdisk – manipulate disk partition table

语法格式为:$ fdisk [options] device
$ fdisk -l [device…]

其中一些常用的参数为:

  • -l  列出指定的外围设备的分区表状况
  • -L, --color[=when] :将输出颜色化,其中when可以指定为auto, never or always. 默认为 auto.

显示当前系统的分区情况

这个也是我唯一推荐入门者使用的 命令,仅仅list显示出目前的系统分区。

万万不要输入fdisk执行其他操作,极易格式化硬盘,切记切记。$ fdisk -lWARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.
Disk /dev/sda: 256.1 GB, 256060514304 bytes, 500118192 sectors # 磁盘空间及扇区信息Units = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: gptDisk identifier: FAF37680-0ECE-4BE7-93FC-E87A8F2F6455

显示硬件信息的hwinfo

hwinfo 又一个用于显示硬件信息的命令。

可以获得 Linux 系统的各种硬件组件(如CPU、内存、显卡、硬盘等)的详细信息。

显示所有硬件信息

sudo hwinfo

列出系统上几乎所有可用硬件的详细信息。

指定特定硬件信息

sudo hwinfo –cpusudo hwinfo –memorysudo hwinfo –gfxcardsudo hwinfo –disk

通过在命令后添加 --cpu--memory--gfxcard--disk 等参数,获取特定硬件的信息。

列出系统硬件信息的lshw

lshwHardware Lister的缩写,直面意思即列出系统硬件信息。

可以显示关于计算机硬件组件(如处理器、内存、硬盘、网卡等)的详细信息,对于系统管理员和用户来说是一个非常有用的工具。

显示所有硬件信息

任何参数都不加的话,可用,信息极多,但是可用信息不多。sudo lshw

这将输出系统中所有可用硬件的详细信息,包括硬件组件的制造商、型号、驱动程序等。

查看摘要硬件信息

显示摘要信息:相对而言,这个反而好一些,简单的就是有用的sudo lshw -short

这将显示硬件的摘要信息,包括设备名、类别、描述等。

查看特定硬件信息(如网络、内存、硬盘等设备)

显示指定类型的硬件信息:sudo lshw -C network

上述示例将仅显示网络相关的硬件信息。

比如还可以查看memorycpudisk等信息。

lshw提供了全面的硬件信息,帮助用户了解系统配置和硬件组件的细节。在查看和诊断硬件问题或了解系统配置时,它是一个非常有用的工具。

放空一下自我  free

free这个命令在Linux系统监控的工具里面,算是使用的比较多的一个。

使用man查看可知,官方含义为:

Display amount of free and used memory in the system

也就是显示可用、易用的系统内存,它直接读取/proc/meminfo文件。

默认的效果

先看下不加任何参数的时候,free的效果:$ free             total       used       free     shared buff/cache   availableMem:       32664832    15667736      674136      464892    16322960    15803156Swap:      16449532     3039756    13409776

看起来很多的样子,但是不直观,我比较喜欢加上-h参数。

使用易读的参数

-h参数,跟前面的df等命令类似,此处的h表示human being的含义方便人类阅读。 除了这个还有-b,-k,-m,-g,含义分别为按照字节、KB、MB、GB的格式来显示。$ free -h             total       used       free     shared buff/cache   availableMem:           31G         14G       655M       453M         15G         15GSwap:           15G        2.9G         12G

Wow,此时的显示简直好简洁。

说下其中的含义:

  • total : 表示总的物理内存大小,比如上面的就表示31GB的内存
  • used :表示已经使用的内存大小,比如上面的就是使用了14GB
  • free :表示可用多少
  • shared:表示多个进程共享的内存大小
  • buff/cache:表示磁盘缓存的大小,这里有两个方面,buffcache,两个的含义不同
    • buff :something that has yet to be ‘writeen’ to disk ,还没有写入磁盘
    • cache: something that had been ‘read’ from the disk and store for later user,从磁盘读取的方便下一次使用
    • 这里就设计到Linux的设计哲学,比如读取一个100G的文件,第一次所使用的时间总归是后面再次读取的时间的好几倍,当然前提是没有释放掉caches
  • available:当然含义为可用的内存容量大小

间隔显示内存状态

还有一个比较常用的就是,如果你希望过一段时间就看下free的情况,OK,使用参数-s,后面跟的单位是秒,也就是每个几秒,统计一下使用的内存情况,比如我们每个2s,显示一下$ free -s 2             total       used       free     shared buff/cache   availableMem:       32664832    15668528      670964      464892    16325340    15802360Swap:      16449532     3039756    13409776
            total       used       free     shared buff/cache   availableMem:       32664832    15669760      669724      464892    16325348    15801124Swap:      16449532     3039756    13409776
            total       used       free     shared buff/cache   availableMem:       32664832    15670220      669248      464892    16325364    15800652Swap:      16449532     3039756    13409776
            total       used       free     shared buff/cache   availableMem:       32664832    15669264      670204      464892    16325364    15801624Swap:      16449532     3039756    13409776

查看meminfo文件

$ cat /proc/meminfo

其实free读取的就是这个文件的某些信息,可以通过同步监控这个文件来check free的状态。

显示CPU架构的有关信息 lscpu

Linux的CPU设备查看器。lscpu命令用来显示cpu的相关信息。lscpu从sysfs和/proc/cpuinfo收集cpu体系结构信息,命令的输出比较易读 。 命令输出的信息包含cpu数量,线程,核数,socket和Nom-Uniform Memeor Access(NUMA),缓存等等。

官方定义为:

lscpu – display information about the CPU architecture

参数基本用处不大,默认即可,部分参数可以查看offline和online的设备信息。

默认实例

$ lscpuArchitecture:         x86_64       #架构信息 CPU op-mode(s):        32-bit, 64-bitByte Order:           Little EndianCPU(s):                64   #逻辑cpu颗数 On-line CPU(s) list:   0-63Thread(s) per core:    2 #每个核心线程Core(s) per socket:    16 #每个cpu插槽核数/每颗物理cpu核数 Socket(s):             2 #cpu插槽数NUMA node(s):          2Vendor ID:             GenuineIntel #cpu厂商ID CPU family:            6   #cpu系列 Model:                 63 #型号 Model name:           Intel(R) Xeon(R) CPU E5-2698 v3 @ 2.30GHzStepping:              2 #步进 CPU MHz:               1290.335 #cpu主频BogoMIPS:              4604.47Virtualization:       VT-x #cpu支持的虚拟化技术 L1d cache:             32KL1i cache:             32KL2 cache:             256KL3 cache:             40960KNUMA node0 CPU(s):     0-15,32-47NUMA node1 CPU(s):     16-31,48-63

其中几个概念需要理解清楚,基本比较重要的都有了备注。

其中第一个为CPU(s),这个值为Socket * Core * Thread得出,也就是逻辑的CPU个数。CPU(s):                64   #逻辑CPU数On-line CPU(s) list:   0-63Thread(s) per core:    2     Core(s) per socket:    16socket:                2

而其他几个概念为:

  • Socket : 物理上的CPU插槽的数量,也就是物理的实体概念
  • Core:即平常说的单核、多核、四核等,即每个CPU上的核数
  • Thread:每个core上的线程数,即超线程。

声明:文中观点不代表本站立场。本文传送门:https://eyangzhen.com/391027.html

(0)
联系我们
联系我们
分享本页
返回顶部