当前位置:首页>Linux>【第15期】Linux系统与硬件探秘:手把手教你查看服务器所有信息

【第15期】Linux系统与硬件探秘:手把手教你查看服务器所有信息

  • 2026-10-11 08:21:20
【第15期】Linux系统与硬件探秘:手把手教你查看服务器所有信息

作为一名运维工程师,你是否遇到过这样的场景:接手一台陌生服务器,却不知道它是什么系统、什么配置?或者需要排查性能问题,却连CPU几核、内存多大都搞不清楚?

今天这篇文章,我将手把手教你查看Linux系统版本、内核信息、CPU、内存、磁盘、网卡等硬件参数,还能快速判断服务器是物理机还是虚拟机。掌握这些命令,让你在面对任何服务器时都能胸有成竹!

这是「Linux运维系列教程」的第6期,建议收藏备用,遇到问题随时查阅。

一、查看系统版本和内核版本

1.1 查看发行版信息

想知道服务器装的是CentOS、Ubuntu还是Debian?用下面这个命令就够了:

cat /etc/os-release

这个文件包含了系统的完整信息,包括发行版名称、版本号、ID等。重点看这几个字段:

• PRETTY_NAME:系统全称,如"Ubuntu 22.04.3 LTS"

• VERSION_ID:版本号,如"22.04"

• ID:发行版ID,如ubuntu、centos、debian

还有一个更简单的命令,直接告诉你系统版本:

hostnamectl

这个命令输出的信息非常全面,包括静态主机名、操作系统、内核版本、架构等,是我个人最常用的查看系统信息的命令。

1.2 查看内核版本

内核版本对于排查兼容性问题和驱动支持非常重要。查看内核版本最常用的命令是:

uname -a

输出示例:Linux web-server 5.15.0-91-generic #101-Ubuntu SMP x86_64 x86_64 x86_64 GNU/Linux

这里包含了主机名(web-server)、内核版本(5.15.0-91-generic)、架构(x86_64)等信息。

如果只想看内核版本号,可以用:

uname -r

输出更简洁:5.15.0-91-generic

二、查看CPU详细信息

2.1 lscpu命令(推荐)

lscpu是查看CPU信息最全面的命令,它会从系统的各个数据源收集CPU相关信息,并以易读的格式展示。

lscpu

重点关注这些字段:

• Architecture:架构类型,x86_64表示64位

• CPU(s):逻辑CPU数量(包括超线程)

• Thread(s) per core:每个核心的线程数(2表示开启了超线程)

• Core(s) per socket:每个CPU插槽的核心数

• Socket(s):CPU插槽数量

• Model name:CPU型号名称

• CPU MHz:当前运行频率

• Cache L3:三级缓存大小

2.2 快速查看CPU核心数

如果只想快速知道有多少个逻辑CPU,用这个命令:

nproc

或者查看CPU型号:

cat /proc/cpuinfo | grep 'model name' | head -1

2.3 实时查看CPU使用率

查看当前CPU使用情况:

top

或者更友好的:

htop

htop提供了彩色界面和更直观的CPU、内存使用情况展示,强烈推荐安装使用。

三、查看内存详细信息

3.1 free命令(最常用)

查看内存使用情况的首选命令:

free -h

输出字段说明:

• total:物理内存总量

• used:已使用内存(包含缓存和缓冲区)

• free:完全未使用的内存

• shared:被tmpfs使用的内存

• buff/cache:缓存和缓冲区占用的内存

• available:真正可用的内存(包含可回收的缓存)

重要提示:判断内存是否紧张,应该看available而不是free。Linux会尽量使用空闲内存做缓存,所以free通常很小,但available才是应用程序真正能用的内存。

3.2 查看内存详细信息

如果想看更详细的内存参数:

cat /proc/meminfo

这个文件包含了内存的各种详细指标,包括MemTotal、MemFree、MemAvailable、Buffers、Cached、SwapTotal等。

3.3 查看物理内存条信息

想知道服务器插了几根内存条、每根多大容量?用dmidecode命令(需要root权限):

sudo dmidecode -t memory | grep Size

输出会显示每根内存条的容量,如"Size: 16384 MB"表示16GB内存条。

四、查看磁盘详细信息

4.1 df命令(查看磁盘使用情况)

查看磁盘空间使用情况:

df -h

输出说明:

• Filesystem:文件系统设备

• Size:总容量

• Used:已使用

• Avail:可用空间

• Use%:使用百分比

• Mounted on:挂载点

4.2 lsblk命令(查看块设备)

以树形结构展示块设备信息:

lsblk

可以清楚地看到磁盘(sda、sdb等)和分区(sda1、sdb1等)的层级关系,以及每个分区的挂载点。

4.3 fdisk命令(查看磁盘容量)

查看物理磁盘容量(需要root权限):

sudo fdisk -l | grep Disk

输出会显示每块物理磁盘的容量,如"Disk /dev/sda: 500 GiB"。

4.4 查看磁盘IO性能

查看磁盘读写速度:

iostat -x 1 3

需要安装sysstat包。这个命令可以实时监控磁盘的I/O性能,%util列接近100%说明磁盘I/O有瓶颈。

五、查看网卡详细信息

5.1 ip命令(推荐)

现代Linux系统推荐使用ip命令代替ifconfig:

ip addr

输出包含:

• 网卡名称(如eth0、ens33)

• MAC地址(link/ether后面的地址)

• IPv4地址(inet后面的地址)

• IPv6地址(inet6后面的地址)

• 网卡状态(UP/DOWN)

只查看特定网卡:

ip addr show eth0

5.2 ethtool命令(查看网卡速率)

查看网卡的硬件参数和连接状态(需要root权限):

sudo ethtool eth0

输出包含网卡速率(Speed)、双工模式(Duplex)、是否自动协商(Auto-negotiation)等信息。

快速查看网卡速度:

cat /sys/class/net/eth0/speed

输出1000表示千兆网卡,10000表示万兆网卡。

5.3 查看网卡流量统计

查看网卡收发的数据包和流量:

cat /proc/net/dev

或者使用更友好的sar命令:

sar -n DEV 1 5

实时显示网卡流量,rxKB/s是接收速率,txKB/s是发送速率。

六、判断服务器是物理机还是虚拟机

在运维工作中,经常需要判断一台服务器是物理机还是虚拟机。下面介绍几种可靠的判断方法。

6.1 systemd-detect-virt命令(最简单)

这是最简单直接的判断方法:

systemd-detect-virt

输出结果说明:

• none:物理机

• kvm:KVM虚拟机

• vmware:VMware虚拟机

• microsoft:Hyper-V虚拟机

• xen:Xen虚拟机

• oracle:VirtualBox虚拟机

6.2 dmidecode命令(最详细)

通过DMI信息查看系统产品名称:

sudo dmidecode -s system-product-name

物理机通常会显示具体的服务器型号,如"PowerEdge R740"、"ProLiant DL380"等。虚拟机则会显示"VMware Virtual Platform"、"OpenStack Nova"等。

6.3 通过硬件特征判断

查看磁盘设备:

ls /dev/disk/by-id/

物理机通常显示实际硬盘型号(如ata-HGST_HUS724040ALE640),虚拟机通常显示virtio或scsi设备。

查看CPU特征:

虚拟机通常缺少某些CPU特性,可以通过对比物理机和虚拟机的/proc/cpuinfo来判断。

查看主板信息:

sudo dmidecode -t baseboard

物理机会显示具体的主板型号和制造商,虚拟机通常显示"Intel Corporation 440BX Desktop Reference Platform"等虚拟主板。

总结一下

今天我们学习了Linux系统信息和硬件参数的查看方法,核心命令总结如下:

系统版本:

• cat /etc/os-release — 查看发行版信息

• uname -a — 查看内核版本

• hostnamectl — 查看系统综合信息

CPU信息:

• lscpu — 查看CPU详细信息

• nproc — 查看逻辑CPU数量

内存信息:

• free -h — 查看内存使用情况

• cat /proc/meminfo — 查看内存详情

磁盘信息:

• df -h — 查看磁盘使用情况

• lsblk — 查看块设备

网卡信息:

• ip addr — 查看网卡IP地址

• ethtool eth0 — 查看网卡硬件参数

物理机/虚拟机判断:

• systemd-detect-virt — 最简单直接的判断方法

• dmidecode -s system-product-name — 查看系统产品名称

如果这篇文章对你有帮助,欢迎点赞、在看、转发三连支持!有任何问题欢迎在评论区留言讨论。

关注「运维老司机」,每周分享实用的Linux运维技巧和实战经验,助你成为运维高手!

最新文章

随机文章