不管是刚接手一台新服务器,还是排查性能问题,第一步都是先把这台机器的配置摸清楚。CPU几核几线程、内存多大、磁盘还剩多少空间、系统是什么版本,这些信息直接决定了后续的运维方案和应用部署策略。Linux系统下查看这些配置主要依靠命令行工具,掌握几个核心命令,几分钟就能给服务器做一次全面体检。

一、查看CPU配置的命令
最常用的是lscpu命令,直接输入回车就能看到CPU的详细信息,包括架构、核心数、线程数、主频、缓存大小等。其中比较关键的几个字段:CPU(s)表示逻辑CPU数量,Socket(s)表示物理插槽数,Core(s) per socket表示每个插槽的物理核心数。如果显示CPU(s)为8,Socket(s)为1,Core(s) per socket为4,加上超线程,说明这是一颗4核8线程的处理器。
另一种方式是直接读取/proc/cpuinfo文件,执行cat /proc/cpuinfo,会列出每个逻辑核心的详细信息。这个文件内容比较多,可以配合grep过滤,比如grep "model name" /proc/cpuinfo只看CPU型号,grep -c processor /proc/cpuinfo统计逻辑核心数量。两种方法效果类似,lscpu输出更规整,适合快速浏览,/proc/cpuinfo适合脚本处理。
二、查看内存配置的命令
free命令是查看内存最常用的工具,推荐使用free -h,-h参数会自动把字节数换算成人类可读的单位。输出分为三行:Mem是物理内存,Swap是交换分区。需要注意的是,available列才是系统真正可用的内存,而不是free列,因为Linux会把空闲内存拿去做缓存,这部分在应用需要时会立即释放,很多新手看到free数值很小就以为内存不够,其实是误判。
如果想看内存条的具体硬件信息,比如插了几根内存条、每根多大、频率多少,需要安装dmidecode工具,然后执行dmidecode -t memory。这个命令读取的是主板BIOS信息,能看到内存插槽的使用情况,包括空槽位也能显示出来,对判断是否还能扩容内存很有帮助。
三、查看磁盘配置的命令
查看磁盘分区和容量用df命令,df -h是最常见的用法,能看到每个挂载点的总容量、已用空间和剩余空间。排查磁盘空间不足问题时,这条命令通常是第一步。而查看目录占用的命令是du,比如du -sh /var统计/var目录的总大小。df和du的区别要分清:df看的是文件系统整体使用情况,du看的是具体目录文件占用,两者统计结果有时不一致是正常的,因为被删除但仍在被进程占用的文件不会体现在du里。
查看块设备清单可以用lsblk命令,它以树状结构列出所有磁盘和分区,一目了然。如果想了解磁盘的详细参数,比如是SSD还是机械盘、转速多少,可以用smartctl工具或者cat /sys/block/sda/queue/rotational,输出0一般表示SSD,输出1表示机械盘。另外fdisk -l可以列出磁盘分区表信息,需要root权限。
四、查看网卡和网络配置的命令
查看网卡IP地址,新版系统推荐ip addr命令,老版本的ifconfig在新一些的发行版里已经默认不安装了。ip addr能看到每个网卡的IP地址、MAC地址和状态。查看路由表用ip route,查看网络连接状态用ss -tulnp,可以看到各个端口被哪个进程监听,排查服务端口冲突很实用。
测试网络连通性用ping命令,查看网卡流量可以用iftop或者nload这类实时监控工具。如果是CentOS系统,网卡配置文件一般存放在/etc/sysconfig/network-scripts/目录下,Ubuntu则可以使用netplan工具管理网络配置,网卡名称、DNS设置等都能在这些位置找到。
五、查看操作系统版本和其他信息
uname -a可以显示内核版本和系统架构,这是最基础的命令。查看发行版详细信息用cat /etc/os-release,能看到系统名称、版本号和ID。RedHat系的系统还可以用rpm -q centos-release或者hostnamectl查看。hostnamectl除了系统版本,还能显示主机名和虚拟化类型,判断这台机器是物理机还是虚拟机很有用。
查看服务器整体硬件信息可以用dmidecode -t system,能看到厂商、型号、序列号等。uptime命令可以看系统已运行时长和负载情况,lsusb和lspci分别列出USB设备和PCI设备。为了方便对比,下面把常用命令汇总成表格:
| 查看项目 | 常用命令 | 说明 |
|---|---|---|
| CPU信息 | lscpu | 核心数、线程数、主频等 |
| 内存使用 | free -h | 关注available列 |
| 内存硬件 | dmidecode -t memory | 需root权限 |
| 磁盘容量 | df -h | 文件系统使用情况 |
| 目录占用 | du -sh 目录 | 统计目录大小 |
| 块设备 | lsblk | 树状显示磁盘分区 |
| IP地址 | ip addr | 替代ifconfig |
| 系统版本 | cat /etc/os-release | 发行版详细信息 |
| 内核版本 | uname -r | 内核发行号 |
六、常见问题与注意事项
第一个常见的坑是把free列当成可用内存,前面提到过,应该看available列。第二个是df和du结果对不上,通常是因为有进程还握着已删除文件的句柄,可以用lsof | grep deleted定位到具体进程,重启对应进程后空间就会释放。第三个是虚拟机环境下看到的硬件信息可能是虚拟化之后的,比如KVM虚拟机里dmidecode显示的是QEMU相关信息,想知道宿主机真实配置需要登录宿主机查看。
另外要注意权限问题,dmidecode、fdisk -l这类命令需要root权限才能执行,普通用户运行会提示权限不足。/proc和/sys目录是内核暴露给用户空间的接口,里面的文件都是动态生成的,cat这些文件不会有任何副作用,可以放心使用,但也不要试图去编辑它们。日常巡检建议把lscpu、free -h、df -h、ip addr、uptime这几条命令固化成脚本或者别名,定期执行并记录结果,长期积累下来就能掌握服务器的资源变化趋势,为容量规划提供数据支撑。