服务器巡检是确保系统稳定运行的关键环节,通过执行特定命令可以实时监控硬件状态、系统性能、服务运行情况及日志信息,及时发现潜在问题,以下从硬件、系统、服务、网络及日志五个维度,详细介绍常用服务器巡检命令及使用场景。

硬件状态巡检命令
硬件是服务器运行的基础,需重点检查CPU、内存、磁盘及电源等部件状态。
-
CPU及温度监控
lscpu
:查看CPU架构、核心数、线程数等信息。cat /proc/cpuinfo
:获取详细CPU参数,如型号、主频等。sensors
:需安装lm_sensors
工具,实时监控CPU及主板温度(如Core 0: +45°C
)。top
或htop
:动态查看CPU使用率,按1
可切换至各核心监控界面。
-
内存使用情况
free -h
:以人类可读格式(如GB、MB)显示内存总量、已用、空闲及缓存情况。cat /proc/meminfo
:查看内存详细信息,包括Swap分区使用状态。
-
磁盘及存储健康
(图片来源网络,侵删)df -h
:检查各文件系统磁盘空间使用率,重点关注根目录()和/var
分区。lsblk
:列出块设备信息,包括磁盘类型(如HDD、SSD)、分区及挂载点。smartctl -a /dev/sda
:需安装smartmontools
,通过S.M.A.R.T.技术检测磁盘健康状态(如Reallocated_Sector_Ct
指标)。
系统性能巡检命令
系统性能直接影响服务响应速度,需关注负载、进程及资源占用情况。
-
系统负载
uptime
:显示当前系统负载(1分钟、5分钟、15分钟平均值),负载值应不超过CPU核心数。vmstat 1 5
:每秒采集一次数据,共5次,查看进程(r
列)、阻塞(b
列)及内存(swpd
、free
)状态。
-
进程资源占用
ps -ef | grep java
:查找特定进程(如Java应用)的PID及资源占用。pidstat -p <PID> -u 1
:监控指定进程的CPU、IO及上下文切换情况。
服务运行状态巡检
服务异常是导致业务中断的常见原因,需定期检查关键服务进程。

-
系统服务状态
systemctl status nginx
:查看nginx
服务的运行状态(active (running)
)、进程ID及最近日志。service --status-all
:列出所有系统服务,标记为的服务表示正在运行。
-
端口监听情况
netstat -tulnp
:查看所有监听(LISTEN
)的端口及对应进程(如80
对应nginx
进程)。ss -tulnp
:比netstat
更高效,支持显示TCP、UDP端口状态。
网络连通性及配置巡检
网络问题可能导致服务不可达,需检查连通性、带宽及配置。
-
网络连通性测试
ping -c 4 8.8.8.8
:向目标服务器发送4个ICMP包,统计丢包率及延迟(如time=10.2 ms
)。traceroute -w 1 8.8.8.8
:跟踪到目标服务器的路由路径,定位网络延迟节点。
-
网络接口及带宽
ip addr show
:查看网络接口IP地址、子网掩码及状态(如UP
、DOWN
)。iftop -i eth0
:实时监控eth0
网卡的带宽使用情况,显示实时流量及连接状态。
系统日志巡检
日志是排查问题的重要依据,需重点关注错误及异常信息。
-
系统日志
journalctl -xe -u nginx
:查看nginx
服务的详细日志,-e
显示末尾行,-x
显示额外字段。tail -f /var/log/messages
:实时监控系统核心日志,查看硬件、驱动相关错误。
-
应用日志
grep "ERROR" /var/log/app.log | tail -10
:过滤应用日志中的错误信息,查看最近10条记录。
巡检结果记录与对比
建议将巡检结果记录至表格,便于长期对比分析趋势:
巡检项 | 命令示例 | 正常值参考 | 异常处理建议 |
---|---|---|---|
CPU使用率 | top -bn1 | grep "Cpu(s)" | <70% |
内存使用率 | free -m | grep "Mem" | awk '{print $3/$2*100}' |
磁盘空间 | df -h | grep "/" | awk '{print $5}' |
关键服务状态 | systemctl is-active nginx | active | 若为inactive,重启服务并检查日志 |
相关问答FAQs
Q1: 如何快速定位导致CPU 100%的进程?
A: 可通过top -bn1
查看进程列表,找到%CPU
列最高的进程PID;或使用pidstat -p <PID> -t
进一步分析该进程的线程占用情况,结合jstack <PID> > thread.log
生成线程快照,定位具体代码问题。
Q2: 服务器磁盘IO性能差时,如何判断是磁盘故障还是应用读写过多?
A: 先执行iostat -xz 1
查看磁盘设备(如sda
)的await
(平均等待时间)和util
(利用率),若util
接近100%且await
较高,说明IO请求过多,需检查应用是否频繁读写;若util
正常但await
很高,可能是磁盘物理故障,需用smartctl
检测S.M.A.R.T.参数或更换磁盘。