在Linux和Unix-like系统中,查看机器配置是系统管理和日常运维中的基础操作,掌握相关命令可以帮助用户快速了解硬件资源、系统信息及运行状态,以下将详细介绍常用的查看机器配置命令,涵盖CPU、内存、磁盘、网络等多个维度,并结合实际场景说明其使用方法。

查看CPU信息
CPU是计算机的核心组件,了解其型号、核心数、频率等信息对性能评估至关重要。
-
lscpu:以可读格式显示CPU架构信息,包括厂商、型号、核心数、线程数、缓存大小等。
lscpu
输出示例包含Architecture(架构)、CPU(s)(逻辑核心数)、Core(s) per socket(每颗物理核心数)、Socket(s)(插槽数)等关键参数。
-
cat /proc/cpuinfo:直接读取CPUinfo文件,输出详细的CPU参数,适用于需要原始数据的场景。
(图片来源网络,侵删)cat /proc/cpuinfo
该命令会列出每个逻辑处理器的信息,如型号名称(model name)、主频(cpu MHz)、缓存大小(cache size)等。
-
top/htop:动态查看CPU使用率,top是基础命令,htop以彩色界面和交互式操作更直观。
top # 按1可切换显示每个核心的使用率 htop # 按F2可进入设置界面调整显示列
查看内存信息
内存是系统运行的关键资源,需关注总容量、已用空间、缓存及交换分区情况。
-
free:显示内存使用情况,默认以KB为单位,使用
-h参数可自动转换为合适单位(如GB)。
(图片来源网络,侵删)free -h
输出中包括total(总内存)、used(已用)、free(空闲)、buff/cache(缓存)、available(可用内存)等列,其中available是实际可用的内存空间,比free更准确。
-
cat /proc/meminfo:读取内存详细信息文件,包含内存总量、交换分区、 hugepage 等参数。
cat /proc/meminfo
输出中的MemTotal表示总物理内存,SwapTotal表示总交换分区大小。
查看磁盘信息
磁盘配置涉及存储设备、分区、文件系统及使用率,需综合多个命令分析。
-
df:查看文件系统磁盘空间使用情况,
-h参数以人类可读格式显示。df -h
输出包含Filesystem(文件系统)、Size(总大小)、Used(已用)、Avail(可用)、Use%(使用率)、Mounted on(挂载点)等信息,重点关注根分区(/)和关键数据目录的使用率。
-
du:查看指定目录的磁盘使用量,
-sh参数显示总大小(-s)并以人类可读格式(-h)输出。du -sh /var/log # 查看/var/log目录大小
-
lsblk:列出块设备信息,包括磁盘名称、大小、挂载点、文件系统类型等。
lsblk
输出中NAME为设备名(如sda、nvme0n1),SIZE为容量,MOUNTPOINT为挂载点,TYPE为设备类型(disk表示磁盘,part表示分区)。
-
smartctl:通过S.M.A.R.T.技术监控磁盘健康状态,需安装smartmontools工具。
smartctl -a /dev/sda # 查看sda磁盘的健康详情
关注Power_On_Hours(通电时间)、Reallocated_Sector_Ct(重定位扇区数)等关键指标,若出现异常需及时备份数据。
查看网络信息
网络配置包括IP地址、网卡状态、路由表及连接信息,对网络故障排查至关重要。
-
ip a:显示网络接口的IP地址、MAC地址等信息,替代传统的ifconfig命令。
ip a
输出中包括接口名(如ens33)、inet(IPv4地址)、ether(MAC地址)、scope(作用域)等。
-
netstat:查看网络连接、路由表、接口统计等信息,
-tulpn参数显示监听的TCP/UDP端口及进程ID。netstat -tulpn
输出中包括Proto(协议)、Local Address(本地地址)、Foreign Address(远程地址)、State(连接状态)、PID/Program name(进程ID及名称)。
-
ss:比netstat更高效的网络工具,同样支持查看连接和端口信息。
ss -tulpn
查看系统及硬件概览
-
uname:显示系统核心信息,
-a参数输出全部信息。uname -a
包括内核版本(Linux 5.4.0-91-generic)、主机名(ubuntu-server)、架构(x86_64)等。
-
lshw:列出详细的硬件信息,包括CPU、内存、磁盘、主板等,需安装lshw工具。
sudo lshw -short # 以简洁列表形式输出
输出中包括-description(设备描述)、-product(产品型号)、-vendor(厂商)、-capacity(容量)等字段。
-
dmidecode:读取DMI表信息,获取硬件制造商、序列号、BIOS版本等,需root权限。
sudo dmidecode -t system # 查看系统硬件信息 sudo dmidecode -t memory # 查看内存条详细信息
综合工具:neofetch/inxi
neofetch以美观的界面显示系统及硬件信息,inxi则以文本形式提供详细报告。
neofetch # 需安装neofetch inxi -Fx # 需安装inxi,-Fx显示完整硬件信息
相关问答FAQs
Q1: 为什么free命令显示的可用内存(available)比free(空闲)小?
A: free命令中的“available”是内核估算的、可供新进程使用的内存空间,它包括了空闲内存和可回收的缓存(如buff/cache),而“free”仅表示当前未被使用的内存,由于Linux会尽可能利用内存作为缓存以提高性能,因此available通常小于总内存减去已用内存,这是正常现象,不代表内存不足。
Q2: 如何快速定位磁盘空间占用过大的目录?
A: 可结合du和sort命令递归查找目录大小并排序:
du -sh /* 2>/dev/null | sort -hr | head -n 10
该命令会列出根目录下各一级目录的大小(按从大到小排序),2>/dev/null忽略无权限访问的目录错误信息,若需深入子目录,可替换为具体路径(如/var),并通过max-depth参数控制递归深度(如du -sh /var --max-depth=2)。
