Linux 系统信息查看命令

本文整理了 Linux 终端下查看服务器硬件、系统信息的常用命令,包含每个命令的参数含义、用法及输出说明,新手可直接复制使用,无需额外配置(部分美化/扩展命令需简单安装)。


一、CPU 信息查看

1. 查看 CPU 详细硬件信息

cat /proc/cpuinfo

参数/用法说明

  • /proc/cpuinfo 是 Linux 内核提供的虚拟文件(非真实磁盘文件),存储了 CPU 所有硬件细节,无需额外参数,直接通过 cat 命令读取即可。

  • 核心输出字段解释(重点关注):

    • processor:CPU 逻辑核心编号,多核/超线程 CPU 会显示多个条目(比如 8 核 16 线程会显示 0-15 共 16 个条目)。

    • model name:CPU 具体型号,如 Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz、AMD Ryzen 7 5800X 3.80GHz。

    • cpu cores:每个物理 CPU 的核心数(真实核心数,非超线程)。

    • siblings:每个物理 CPU 的逻辑核心数,开启超线程后,该数值会是 cpu cores 的 2 倍。

    • cache size:CPU 缓存大小(L1/L2/L3 缓存总和,缓存越大,CPU 处理速度越快)。

2. 实时监控 CPU 使用率(基础版,系统自带)

top

参数/用法说明

  • 无默认参数,直接运行即可进入实时交互监控界面,默认每 3 秒刷新一次。

  • 核心交互操作(常用,无需记复杂命令):

    • q:退出 top 监控界面(最常用)。

    • 1:切换显示所有 CPU 核心的单独使用率(默认显示所有核心的汇总使用率)。

    • P:按 CPU 使用率从高到低排序进程(大写 P,默认按 PID 排序)。

    • M:按内存使用率从高到低排序进程(大写 M)。

  • 关键输出字段:

    • %Cpu(s):总 CPU 使用率汇总,核心细分:

      • us:用户进程占用 CPU 百分比(如应用程序、命令执行)。

      • sy:内核进程占用 CPU 百分比(系统底层操作,如进程调度)。

      • id:CPU 空闲百分比(id 越低,CPU 负载越高)。

    • PID:进程 ID,%CPU:单个进程占用 CPU 的百分比,COMMAND:进程名称。

3. 实时监控 CPU 使用率(美化版,需安装)

htop

参数/用法说明

  • 系统默认不自带,需手动安装:

    • Ubuntu/Debian 系统:sudo apt install htop -y

    • CentOS/RHEL 系统:sudo yum install htop -y

  • 相比 top 的核心优势:界面彩色显示、支持鼠标操作、可查看进程树、操作更直观。

  • 核心交互操作:

    • F6:弹出排序选项,可按 CPU、内存、进程名等维度排序。

    • F9:终止选中的进程(弹出终止信号,默认选 9 即可强制终止)。

    • F2:进入设置界面,可自定义显示内容、颜色主题。

    • q:退出 htop 界面。


二、内存信息查看

1. 简洁查看内存总览(最常用)

free -h

参数/用法说明

  • 核心参数 (-h):人性化显示内存大小,自动转换为 GB/MB(默认显示字节,数值过大不直观)。

  • 常用可选参数:

    • -s 5:每隔 5 秒自动刷新一次内存信息(可替换 5 为任意秒数)。

    • -t:在输出末尾增加一行,显示内存 + 交换分区(Swap)的总计信息。

    • -m:强制以 MB 为单位显示(-h 更灵活,优先推荐)。

  • 关键输出字段(必看):

    • total:服务器总物理内存大小。

    • used:已使用的内存大小(包含应用占用、系统缓存、缓冲区)。

    • free:完全空闲的内存大小(未被任何程序使用)。

    • available:实际可被应用程序使用的内存大小(包含可释放的缓存/缓冲区,比 free 更能反映真实可用内存)。

    • Swap:交换分区(用硬盘模拟的内存),使用率超过 50% 说明物理内存不足,会导致服务器卡顿。

2. 实时监控内存使用(复用 top 命令)

top

参数/用法说明

  • 无需额外命令,运行 top 后,重点关注内存相关字段即可。

  • 关键输出字段:

    • Mem:物理内存的总大小、已用、空闲、缓存占用情况。

    • Swap:交换分区的使用率(used/total,如 1.2Gi/8.0Gi)。

    • %MEM:单个进程占用内存的百分比(排序后可快速找到内存占用最高的进程)。

    • RES:进程实际占用的物理内存大小(单位 KB/MB,不包含虚拟内存)。


三、硬盘/磁盘信息查看

1. 查看磁盘挂载与使用率(最常用)

df -h

参数/用法说明

  • 核心参数 (-h):人性化显示磁盘大小和使用率(GB/MB),避免查看冗长的字节数。

  • 常用可选参数:

    • -T:显示磁盘的文件系统类型(如 ext4、xfs、ntfs 等,不同系统默认文件系统不同)。

    • -i:查看磁盘 inode 使用情况(inode 是文件的索引,inode 满会导致“磁盘有空间但无法创建文件”)。

    • -k:强制以 KB 为单位显示(不推荐,不如 -h 直观)。

  • 关键输出字段:

    • Filesystem:磁盘设备名称(如 /dev/sda1、/dev/vda1,不同云服务器命名略有差异)。

    • Size:磁盘总容量。

    • Used:已使用磁盘空间。

    • Use%:磁盘使用率(超过 80% 需警惕,磁盘满会导致服务器无法正常运行)。

    • Mounted on:磁盘挂载目录(即该磁盘对应服务器的哪个文件夹,如 / 是根目录,/data 是数据盘目录)。

2. 查看目录/文件占用大小(定位大文件/大目录)

# 查看当前目录总大小(简洁汇总)
du -sh

# 查看指定目录总大小(示例:查看 /var/log 日志目录大小)
du -sh /var/log

# 查看目录下各子目录大小,并按大小倒序排序(快速定位大目录)
du -h --max-depth=1 /data | sort -hr

参数/用法说明

  • du 命令核心作用:统计目录/文件占用的磁盘空间大小。

  • 核心参数解析:

    • -s:汇总显示(只输出目标目录的总大小,不显示子目录/文件的详细大小)。

    • -h:人性化显示大小(GB/MB/KB)。

    • --max-depth=1:只显示目标目录下一级子目录的大小(不深入子目录内部,避免输出过多)。

    • sort -hr:对结果按大小倒序排序(h 识别大小单位,r 表示倒序,方便快速找到最大目录)。

  • 补充说明:du 命令会遍历目录下所有文件/子目录,若目录文件极多,可能会耗时几秒,耐心等待即可。


四、GPU 信息查看(仅适用于 NVIDIA 显卡)

注:若服务器无 NVIDIA 显卡(如普通云服务器),运行以下命令会报错;AMD 显卡命令不同,本文暂不涉及。

1. 查看 GPU 基础信息(型号、显存、进程)

nvidia-smi

参数/用法说明

  • 前提:必须安装 NVIDIA 显卡驱动(无驱动则无法识别 GPU,会提示“command not found”)。

  • 无额外参数,直接运行,输出一次 GPU 所有信息。

  • 关键输出字段(必看):

    • GPU:显卡编号(多显卡服务器会显示 0、1、2…)。

    • Name:显卡型号(如 Tesla V100、RTX 3090、A100)。

    • Memory-Usage:显存使用率(如 2.5GiB / 16.0GiB,显存满会导致 GPU 任务报错)。

    • Volatile GPU-Util:GPU 算力使用率(表示 GPU 正在工作的负载,0% 表示空闲)。

    • Processes:占用 GPU 的进程(包含 PID、用户名、占用显存大小,可快速定位占用 GPU 的程序)。

2. 实时刷新 GPU 信息(监控 GPU 负载)

watch -n 1 nvidia-smi

参数/用法说明

  • watch:Linux 定时执行命令的工具,用于实时刷新指定命令的输出。

  • 核心参数 (-n 1):每隔 1 秒刷新一次 nvidia-smi 的输出(可替换 1 为任意秒数,如 5 表示每 5 秒刷新)。

  • 退出实时监控:按 Ctrl + C 即可终止。


五、系统基础信息查看(版本、内核)

1. 查看系统发行版版本(如 Ubuntu/CentOS 版本)

cat /etc/os-release

参数/用法说明

  • 无额外参数,直接读取 /etc/os-release 文件(系统自带,所有 Linux 发行版通用)。

  • 核心输出字段:

    • NAME:系统名称(如 Ubuntu、CentOS Linux)。

    • VERSION_ID:系统版本号(如 20.04、7.9,对应 Ubuntu 20.04、CentOS 7.9)。

    • ID:系统标识(如 ubuntu、centos,用于脚本判断系统类型)。

    • PRETTY_NAME:系统完整名称(如 Ubuntu 20.04.6 LTS)。

2. 查看系统内核版本(内核是系统的核心组件)

uname -a

参数/用法说明

  • 核心参数 (-a):显示所有内核相关信息(最常用,一次性获取完整信息)。

  • 常用可选参数:

    • -r:只显示内核版本号(如 5.4.0-148-generic、3.10.0-1160.el7.x86_64)。

    • -m:只显示系统架构(如 x86_64 表示 64 位系统,arm64 表示 ARM 架构)。

    • -s:只显示内核名称(即 Linux)。

  • 输出示例:Linux localhost 5.4.0-148-generic #165-Ubuntu SMP Tue Apr 18 08:53:12 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux,依次对应:内核名称、主机名、内核版本、编译时间、系统架构。


六、网络信息查看(IP、端口、网卡)

1. 查看服务器 IP 地址(内网/外网)

ip a

参数/用法说明

  • ip aip addr 的缩写,系统自带,无需安装,可显示所有网卡的 IP 信息。

  • 核心输出字段:

    • inet:服务器的 IPv4 地址(如 192.168.1.100,内网地址;120.xx.xx.xx,外网地址)。

    • inet6:服务器的 IPv6 地址(一般不常用,可忽略)。

    • 网卡名称:如 eth0ens33(外网网卡)、lo(本地回环地址,固定为 127.0.0.1,用于服务器内部通信)。

    • state UP:表示该网卡已启用(正常工作);state DOWN 表示网卡未启用。

  • 补充:若只想查看某个网卡的 IP,可使用 ip a show eth0(替换 eth0 为目标网卡名称)。

2. 查看端口占用情况(定位端口被哪个进程占用)

netstat -tulpn

参数/用法说明

  • 前提:部分系统默认不自带 netstat,需手动安装:

    • Ubuntu/Debian 系统:sudo apt install net-tools -y

    • CentOS/RHEL 系统:sudo yum install net-tools -y

  • 核心参数解析(缺一不可,记准组合):

    • -t:只显示 TCP 端口(常用,如 HTTP、SSH 端口)。

    • -u:只显示 UDP 端口(较少用,如 DNS 端口)。

    • -l:只显示“正在监听”的端口(排除已关闭、已连接的端口)。

    • -p:显示占用该端口的进程名和 PID(关键,可快速定位占用端口的程序)。

    • -n:用数字显示 IP 和端口(不解析域名,速度更快,避免卡顿)。

  • 替代命令(无 net-tools 时,系统自带):ss -tulpn,用法和输出与 netstat -tulpn 完全一致,无需额外学习。

  • 输出示例:tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1234/sshd,表示 22 端口(SSH 端口)被 PID 为 1234 的 sshd 进程占用,正在监听所有 IP 的连接。


七、硬件整体信息查看(全量硬件概览)

1. 查看所有硬件详细信息

sudo lshw

参数/用法说明

  • lshw 是 Linux 硬件查看工具,可显示 CPU、内存、磁盘、显卡、网卡等所有硬件的详细信息。

  • 必须加 sudo(root 权限),否则部分硬件信息无法显示(会提示权限不足)。

  • 核心可选参数(简化输出,避免信息过多):

    • -short:简洁版输出,只显示硬件名称、型号和类别,不显示详细参数(推荐新手使用)。

    • -class cpu:只查看 CPU 硬件信息(过滤其他硬件)。

    • -class memory:只查看内存硬件信息(如内存型号、容量、频率)。

    • -class disk:只查看磁盘硬件信息(如磁盘型号、容量、接口类型)。

2. 简洁查看硬件概览(新手首选)

sudo lshw -short

参数/用法说明

  • -short 参数会将所有硬件按“类别 - 型号 - 容量”的格式简洁输出,一目了然,无需筛选信息。

  • 输出分类:CPU、内存、磁盘、显卡、网卡、主板等,快速了解服务器硬件配置。


八、总结

  1. 日常高频命令

    • 内存:free -h

    • 磁盘:df -h

    • CPU/内存实时监控:top(或 htop

    • GPU:nvidia-smi

    • IP 地址:ip a

    • 端口占用:netstat -tulpn(或 ss -tulpn

  2. 通用参数技巧:所有命令加 -h 均可人性化显示大小(GB/MB),避免查看冗长字节数。

  3. 实时刷新技巧watch -n 秒数 命令,可实现任意命令的实时刷新(如 watch -n 3 df -h 实时监控磁盘)。

  4. 权限说明lshw 命令需加 sudo,否则无法查看完整硬件信息;其他命令无需 root 权限,普通用户即可运行。


备注:本文所有命令均适用于主流 Linux 发行版(Ubuntu、CentOS、Debian、Rocky Linux 等),无需额外适配,直接复制即可使用。