在 Linux 服务器管理中,实时掌握系统状态是确保稳定运行、快速排查问题的关键,通过命令行工具,管理员可以高效获取 CPU、内存、磁盘、网络等核心资源的使用情况,以及进程、系统日志等详细信息,本文将系统介绍 Linux 服务器状态查看的常用命令及实用技巧,帮助管理员提升运维效率。

CPU 状态监控:了解系统负载与性能瓶颈
CPU 是服务器的核心处理单元,监控其状态可判断系统是否过载及任务执行效率。
top 命令:动态实时监控
top 是最常用的进程监控工具,默认按 CPU 占用率排序,实时显示进程信息,其输出首行包含关键指标:
top - 10:15:30 up 5 days, 2:30, 2 users, load average: 0.20, 0.30, 0.15:load average为 1 分钟、5 分钟、15 分钟平均负载,理想值应不超过 CPU 逻辑核心数;Tasks: 150 total, 1 running, 149 sleeping, 0 stopped, 0 zombie:进程总数及状态分布;%Cpu(s): 10.0 us, 5.0 sy, 0.0 ni, 85.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st:us(用户空间占用)、sy(内核空间占用)、id(空闲)、wa(I/O 等待),若wa过高需检查磁盘性能。
通过 top 的交互命令(如 P 按 CPU 排序、M 按内存排序、k 终止进程)可快速定位异常任务。
htop 命令:增强型可视化监控
htop 是 top 的升级版,以颜色区分不同状态,支持鼠标操作,且直观显示 CPU 多核心负载,安装后(sudo apt install htop),可查看每个核心的占用率,并通过 F2 键自定义监控项。
mpstat 命令:CPU 各核心详细统计
若需分析 CPU 各核心的详细使用情况,可使用 mpstat:
mpstat -P ALL 1 5 # 每秒刷新,共输出 5 次报告,显示所有核心数据
输出中 %usr、%sys、%idle 等指标可帮助定位具体哪个核心存在性能瓶颈。
内存使用情况:避免资源耗导致服务卡顿
内存不足会导致系统频繁使用交换分区(swap),显著降低性能。
free 命令:查看内存与交换分区使用
free -h(以人类可读格式显示)是最直接的内存查看工具:

total used free shared buff/cache available Mem: 7.7G 2.1G 4.2G 256M 1.4G 5.0G Swap: 2.0G 0B 2.0G
Mem行为物理内存:used为已使用(包含 buffers/cache),available为可用内存(推荐关注此值而非free);Swap行为交换分区:长期使用 swap 会影响性能,需检查是否有内存泄漏进程。
vmstat 命令:内存与系统整体状态
vmstat 1 每秒刷新一次,可动态观察内存变化:
si(swap in)、so(swap out):若持续大于 0,说明内存不足;buff(缓冲区)、cache(缓存):系统会自动调整,释放给应用程序使用。
磁盘与文件系统监控:预防存储瓶颈
磁盘 I/O 性能直接影响数据读写速度,需关注使用率、inode 及 I/O 负载。
df 命令:文件系统使用率
df -h 按分区显示磁盘使用情况:
Filesystem Size Used Avail Use% Mounted on /dev/sda1 50G 15G 33G 31% / /dev/sdb1 100G 80G 15G 83% /data
重点关注 Use%(使用率超过 80% 需扩容)和 Mounted on(挂载点,如 /data 为业务数据盘)。
du 命令:目录/文件占用空间
若需定位具体大文件或目录,使用 du -sh *(显示当前目录下各文件/文件夹大小)或 du -sh --max-depth=1 /path(限制目录深度)。
iostat 命令:磁盘 I/O 性能分析
iostat -dx 1 可监控磁盘的读写性能:
%util:磁盘 I/O 等待时间占比,超过 70% 说明磁盘瓶颈;await:平均 I/O 等待时间,过高需优化磁盘或检查硬件。
inodes 使用率监控
每个文件占用一个 inode,小文件多的场景(如日志目录)可能因 inode 耗尽而无法创建新文件,需通过 df -i 检查。
网络状态排查:确保数据传输稳定
网络问题可能导致服务不可达,需关注连接数、带宽及端口状态。

ss/netstat 命令:查看网络连接
ss -tulnp(推荐替代 netstat)显示监听端口和进程:
-t:TCP 连接,-u:UDP 连接,-l:仅显示监听端口,-n:数字形式(不解析域名),-p:显示进程 ID;- 若发现异常端口(如 0.0.0.0:22 被未知进程占用),需进一步排查安全风险。
iftop/nethogs 命令:带宽与进程流量
iftop 按实时流量排序显示 IP 连接,nethogs 按进程统计带宽占用:
sudo iftop -i eth0 # 监控指定网卡流量 sudo nethogs # 查看各进程的实时下载/上传速度
ping/traceroute 命令:网络连通性测试
ping 8.8.8.8 检测网络是否可达,traceroute www.baidu.com 追踪路由节点,定位网络延迟或丢包环节。
系统日志与进程管理:快速定位问题根源
日志文件查看
Linux 日志默认存放在 /var/log/ 目录,关键日志包括:
/var/log/syslog:系统日志(记录内核、服务消息);/var/log/auth.log:认证日志(记录登录、sudo 操作);- 使用
grep过滤关键信息,如grep "failed password" /var/log/auth.log查看登录失败记录。
ps 与 pgrep 命令:进程状态
ps -ef 显示所有进程,pgrep nginx 查找 nginx 进程 PID,结合 kill -9 PID 强制终止异常进程。
综合监控工具:自动化与可视化
对于长期监控,可使用 sar(系统活动报告)、glances(一站式监控工具)或 Zabbix、Prometheus 等开源监控系统,实现数据收集、告警及可视化展示,提升运维效率。
通过以上命令的组合使用,管理员可全面掌握 Linux 服务器的运行状态,及时发现并解决问题,确保系统稳定高效运行。




















