对于刚接触Linux或者需要频繁排查服务器状态的朋友来说,了解如何查看系统信息是最基础也最常用的一项技能。Linux系统不像Windows那样有统一的图形界面来展示硬件和软件配置,但通过几条简单的命令,就能把系统里里外外的情况摸得一清二楚。无论是查看内核版本、内存大小、磁盘使用情况,还是CPU型号和运行时间,都有对应的命令可以快速获取。
查看内核版本和操作系统发行版信息
当你登录一台Linux服务器,第一件事往往是确认这台机器跑的是什么系统。用uname -a这条命令就能看到内核版本、主机名、处理器架构等一堆信息。比如输出里会显示Linux 5.4.0-26-generic,这就是内核版本号。如果只想看内核版本,用uname -r更直接。

发行版信息则要看/etc/os-release这个文件。用cat /etc/os-release打开,你会看到NAME=”Ubuntu”、VERSION_ID=”20.04″这样的内容。不同发行版的文件名可能略有差异,比如CentOS是/etc/centos-release,但os-release基本通用。我经常用这个来快速确认客户的环境,避免后续命令不兼容。
还有一个常用的命令是lsb_release -a,它会展示包括描述、发行版ID、版本号等在内的详细信息。不过有些最小化安装的Linux可能没有这个工具,需要先安装lsb-release包。实际工作中,我更喜欢直接看/etc/issue文件,它通常会在登录时显示发行版名称,省事。
查看CPU和内存的详细信息

服务器性能瓶颈排查时,CPU和内存信息是必看的。lscpu命令会把CPU架构、核心数、线程数、频率、缓存大小全部列出来。比如你会看到CPU(s): 4,意思是总共有4个逻辑核心。如果想知道每个核心的详细频率和负载,用cat /proc/cpuinfo更细致,里面每个processor段对应一个核心,model name就是具体的型号。
内存方面,free -h是最直观的,它用人类可读的格式显示总内存、已用、空闲和缓存。比如输出显示total: 7.6G,used: 3.2G。如果发现内存长期接近满载,那就得考虑扩容或者排查进程。更详细的数据可以用cat /proc/meminfo,里面连Swap、Slab、HugePages的信息都有。
有一次客户的Java应用频繁OOM,我通过vmstat 1 5结合free -h发现Swap使用率异常高,内存实际足够但缓存占用了太多。后来调整了内核参数才解决。所以建议你在看内存时也留意一下buff/cache这列,避免误判。

查看磁盘分区和存储使用情况
磁盘空间告警是运维最常处理的问题之一。df -h命令列出所有挂载点的文件系统、总大小、已用、可用和使用百分比。比如/dev/sda1挂载在/linux命令行和shell脚本编程宝典,使用率85%,这就该清理或扩容了。如果要看inode使用情况,加个参数用df -i,有时候空间没满但inode耗尽也会导致无法创建文件。
更细粒度的磁盘信息可以用lsblk查看块设备列表,它会显示磁盘分区、大小、挂载点。输出格式很清晰,像是/dev/sda下面分出sda1和sda2,一目了然。如果想看磁盘的调度算法或队列参数怎么查看linux系统,cat /sys/block/sda/queue/scheduler可以看到当前用的是mq-deadline还是none。

对于需要排查I/O性能的场景,iostat -x 1能监控每个设备的读写速率、等待时间和队列长度。之前有个数据库反馈写入慢,我配合iotop找到是日志进程占用了大量磁盘写入,调整日志轮转策略后恢复了正常。
查看系统运行时间和当前负载情况
任何时候登录服务器,我都习惯先看uptime。这条命令输出当前时间、系统运行了多久、登录用户数,以及过去1分钟、5分钟、15分钟的平均负载。比如load average: 2.15, 1.80, 1.50,如果这个值接近CPU核心数linux虚拟主机,说明系统负载较高。运行时间也很重要,能判断服务器多久没重启,有没有意外宕机。

当前进程和资源占用则看top或htop。top显示进程列表,按CPU或内存排序,还能看到整体CPU使用率、内存和Swap。按1键能看到每个CPU核心的使用情况。如果某个进程长期占用100%CPU,那基本就是出问题了。我常用这个来定位异常进程,比如挖矿脚本或者死循环程序。
网络连接状态也值得留意。ss -tuln列出所有监听端口和连接状态,比旧的netstat更高效。排查安全问题时,看看有没有可疑端口在监听,比如某个陌生端口突然开放,可能就被入侵了。结合ps aux看对应进程的PID和命令,基本能判断问题性质。
了解这些查看方法,日常运维和故障排查就足够用了。Linux系统信息查看的核心就是几个文本文件加几条命令,平时多敲敲怎么查看linux系统,熟练了自然就随手拈来。
