Linux 查看系统信息完整指南:uname、lscpu、free、df 与硬件体检命令实战


买了台新 VPS 先看看配置对不对、服务器卡了想知道内存够不够、要给客户汇报机器参数——这些都需要快速查看系统信息。Linux 查看系统信息的命令很多,uname、lscpu、free、df、dmidecode 各管一块。这篇文章把它们按 CPU、内存、磁盘、网络、系统版本分组讲清,照着敲就能摸清一台机器的全部家底。

一、系统版本与内核

uname -a                  # 内核版本 + 架构 + 主机名,最常用
uname -r                  # 只看内核版本
cat /etc/os-release       # 发行版名称和版本(Ubuntu/Debian/CentOS 通用,最可靠)
hostnamectl               # 系统信息汇总:发行版、内核、架构、主机名
cat /etc/redhat-release   # CentOS/RHEL 老系统专用

判断系统用什么:cat /etc/os-release 里 ID=centos 或 ID=ubuntu,安装软件时选对源全靠它。

二、CPU 信息

lscpu                     # CPU 汇总:型号、核数、主频、架构,最直观
nproc                     # 逻辑 CPU 核数(脚本里取核数用它)
cat /proc/cpuinfo         # 原始详情:每个核心一条

lscpu 输出重点看:

Architecture:          x86_64
CPU(s):                4          ← 逻辑核数(VPS 一般显示 1/2/4)
Model name:            Intel Xeon Platinum 8255C
CPU MHz:               2494.000

VPS 上 CPU(s) 和 Core(s) per socket 的含义:云厂商按 vCPU 计费,CPU(s)=4 就是 4 核,运行 top 看负载时按这个数判断是否过载。

三、内存信息

free -h                   # 人性化显示内存和 swap,最常用
free -m                   # 以 MB 显示,脚本处理方便
cat /proc/meminfo         # 原始内存数据

free -h 输出解读:

              total        used        free      shared  buff/cache   available
Mem:           1.9G       523M        202M        8.0M        1.2G        1.3G
Swap:            0B          0B          0B
  • total:总内存(VPS 显示 1.9G 是因为商家给了 2G);
  • available:真正可用内存 = 空闲 + 可回收的缓存,判断内存够不够看它,别看 free;
  • buff/cache:文件缓存,占用高是正常的,不够时会自动释放;
  • Swap:交换分区,为 0 表示没开。

内存够不够的判断:available 长期接近 0,且 swap 频繁使用,说明内存紧张,该考虑升级或优化程序了。

四、磁盘信息

df -h                     # 文件系统使用情况,最常用
df -i                     # inode 使用情况(文件数爆满时查这个)
lsblk                     # 块设备树:磁盘、分区、挂载点一目了然
du -sh /var/www/*         # 统计目录占用大小,找出谁吃满了磁盘

df -h 输出解读:

Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        40G   12G   27G  31% /
/dev/vdb1       100G   80G   15G  85% /data
  • 根分区 / 是系统盘,/data 是数据盘;
  • Use% 超过 85% 就该清理或扩容了,别等 100% 出问题;
  • df -h 显示 100% 但删了大文件还是满:文件被进程占用未释放,用 lsof | grep deleted 找出来重启对应进程。

五、网络信息

ip addr                   # 查看所有网卡 IP(新系统,推荐)
hostname -I               # 只看 IP 地址
ss -tlnp                  # 查看监听端口和对应进程
ip route                  # 查看默认网关
curl ifconfig.me          # 查看公网 IP(服务器出口 IP)

注意:ifconfig 老命令在新系统需要安装 net-tools,直接用 ip addr 即可。

六、硬件与厂商信息

dmidecode -t system       # 厂商、型号、序列号(需 root)
dmidecode -t memory       # 内存条信息:频率、容量、插槽
lspci                     # PCI 设备:显卡、网卡、磁盘控制器
lsusb                     # USB 设备

dmidecode 在部分云服务器上被虚拟化屏蔽,读不到是正常的,lscpu/free 的数据足够日常用。

七、运行状态与负载

uptime                    # 运行时间 + 负载,一行看全
top                       # 实时资源监控(交互式)
htop                      # top 增强版,更直观(需安装)
sar -u 1 3                # 每秒采样 3 次 CPU 使用率(需 sysstat 包)

uptime 输出:load average: 0.08, 0.12, 0.15,三个数分别对应 1/5/15 分钟平均负载,和核数比较:4 核机器负载低于 4 正常,长期高于 4 说明 CPU 吃紧。

八、实用组合:一条命令报告全貌

echo "=== 系统 ===" && cat /etc/os-release | head -n 2 && uname -r
echo "=== CPU ===" && lscpu | grep -E '^(CPU\(s\)|Model name)'
echo "=== 内存 ===" && free -h | head -n 2
echo "=== 磁盘 ===" && df -h | grep -v tmpfs
echo "=== 网络 ===" && ip addr | grep 'inet ' | grep -v 127.0.0.1

把这串存成 sysinfo.sh,以后买 VPS 验机、排查问题一条命令出报告。

九、常见问题

  1. free 显示内存快满了,是不是中毒了?:先看 available,缓存占用的 buff/cache 会自动释放,available 充足就不用慌;
  2. df -h 和商家标注的容量对不上:商家按 GiB(1024)计算、系统按 GiB 显示,还有系统保留块,差 5-10% 正常;
  3. dmidecode 报权限不足:需要 root 执行,加 sudo;
  4. ip addr 没有输出 IP:网卡没启用,ip link set eth0 up 或检查云控制台网卡状态。

总结:查看 Linux 系统信息就记这五组命令——系统版本用 cat /etc/os-release,CPU 用 lscpu,内存用 free -h(看 available),磁盘用 df -h,网络用 ip addr。再配合 uptime 看负载、ss -tlnp 看端口,一台服务器从硬件到运行状态全部心里有数。


手机扫码阅读

微信或手机浏览器扫一扫,随时随地随心阅读与分享

scp 命令详解与实战:Linux 服务器文件上传下载、目录递归与断点续传

systemctl 服务管理详解:systemd 开机自启、查看状态与 journalctl 日志实战

评 论
更换验证码