围绕硬件健康、系统状态、安全基线、性能瓶颈、日志异常五个层面,逐项排查隐患并输出处置清单,就是一次完整的服务器体检。
很多人把服务器体检简单理解成“看看CPU高不高、磁盘满没满”,其实真正的体检远不止这些,下面直接给你一份可以照着做的体检清单,从硬件到系统,从安全到性能,每一项都写清楚查什么、怎么查、什么算异常。
服务器体检项有哪些先从硬件说起
硬件是服务器稳定运行的底座,硬件体检的核心思路是确认每个关键部件的健康状态和冗余能力,而不是等到报警了才去查。
CPU体检:不只是看占用率
CPU体检至少要覆盖三个维度:负载、温度、错误计数。
- 负载方面,用
top或uptime查看load average,如果长期高于CPU核心数的75%,意味着压力偏大。 - 温度方面,多数服务器可以通过
ipmitool sdr list查看CPU温度,超过85℃就要警惕散热问题。 - 错误计数需要看系统日志,
dmesg | grep -i "mce\|thermal",出现Machine Check Exception说明CPU内部已经发生硬件错误,这类机器建议尽快安排更换节点。
内存体检:ECC纠错才是重点
内存体检不能只看还剩多少,对于使用ECC内存的服务器,纠错事件是判断内存是否在“带病工作”的关键信号。
- 看电影中
free -h查看内存和交换分区使用情况,swap长期被占用说明物理内存吃紧。 - 用
edac-util或ras-mc-ctl查看内存错误计数,如果Corrected Errors(可纠正错误)持续快速增长,即使内存还能用,也说明颗粒正在老化,建议规划更换。 - 内存体检最好避开业务高峰期,如果条件允许,在停机窗口做一次
memtest86+全量测试,能发现隐形坏块。
磁盘与RAID体检:SMART信息是金标准
磁盘是服务器里故障率最高的部件,没有之一,体检时重点看SMART健康状态、坏道重映射、RAID阵列状态三件事。
- 使用
smartctl -a /dev/sda查看Reallocated_Sector_Ct、Current_Pending_Sector、UDMA_CRC_Error_Count这三项,任何一项数值持续增长都说明盘在恶化。 - 如果机器做了RAID,需要登录RAID卡管理界面,或使用
storcli(LSI卡) /megacli(老型号)查看阵列状态,看到Degraded或Rebuilding必须立即处理。 - 同时用
iostat -x 1观察磁盘的%util和await,如果await长期超过100ms,意味着磁盘响应已经明显变慢。
电源、风扇和整机状态
- 查看电源冗余状态,
ipmitool sela list检查是否有Power Supply相关的告警记录,冗余电源掉了一个还能撑,但第二个再坏就是直接宕机。 - 风扇转速异常会导致局部过热,
ipmitool sensor list里Fan相关传感器如果显示lower critical,赶紧查灰尘和风扇寿命。 - 整机状态可以看前面板指示灯和BMC/IDRAC管理界面,这个相当于服务器的“体检总报告”。
系统层面体检:服务器性能体检怎么做更靠谱
硬件没问题,不代表系统层面就健康,系统体检的核心目标是发现配置错误、资源泄漏和潜在的性能瓶颈。
系统负载和进程状态
- 用
top按CPU和内存排序,检查有没有进程占用异常偏高,重点留意D状态(不可中断睡眠)的进程,长时间存在通常说明IO有问题。 - 查看系统运行时间,
uptime显示的load average要结合核心数判断,不能只看数值大小。 - 用
ps aux --sort=-%mem | head -20找出内存占用Top进程,如果你发现某个常驻进程的内存占用比上周翻了一倍,大概率存在内存泄漏。
文件系统和inode体检
磁盘空间没满不代表文件系统没问题,要同时检查空间和inode这两个指标。
- 用
df -h看空间,df -i看inode,inode满了的典型表现是“磁盘有空间但创建不了文件”,这个坑在日志服务、消息队列这类产生大量小文件的场景里尤其常见。 - 用
dumpe2fs -h /dev/sda1(ext系列)检查文件系统状态,如果Filesystem state不是clean,说明上次没有正常卸载。 - 别忘了检查挂载选项是否合理,比如
noatime、nodiratime这些优化项有没有加上,对于高IO场景影响不小。
系统日志和内核日志
日志里藏着大量“还没爆发的问题”。
- 查看
/var/log/messages(CentOS)或/var/log/syslog(Ubuntu)中是否有持续的blocked for more than 120 seconds记录,这是IO卡死的经典信号。 - 用
journalctl -p err..alert过滤错误级日志,如果每天都有新的OOM(内存耗尽)记录,说明内存配置或应用本身有问题。 - 检查
crond的日志,有没有定时任务执行失败,很多服务器的体检项是脚本自动跑的,脚本本身挂了你根本不知道。
安全体检:服务器安全体检清单不能少
安全体检的目标是发现可能被利用的入口和已经存在的入侵痕迹,每一项都值得按清单逐条过。
账号和权限检查
- 查看
/etc/passwd里所有UID为0的账号,正常情况只有root,多出来的任何一个UID 0账号都是后门信号。 - 检查空密码账号,
awk -F: '($2==""){print}' /etc/shadow,如果输出非空,赶紧处理。 - 查看最近登录记录,
last -20和lastb -20,重点看看有没有奇怪的IP在非工作时间登录成功。
端口和开放服务检查
- 用
ss -tlnp列出所有监听端口,把每个端口对应的服务、用途都对一遍,多出来的陌生端口,尤其是高端口,要警惕是被种了木马。 - 查看对外开放的服务是否都启用了防火墙限制,
iptables -L -n或firewall-cmd --list-all,没有白名单管控的SSH、数据库端口都是高危项。 - 检查SSH配置
/etc/ssh/sshd_config,确认PermitRootLogin是否已禁用,PasswordAuthentication是否已改为密钥登录,业内专家指出,未做加固的SSH是服务器被入侵的第一入口。
补丁和Rootkit排查
- 用
yum check-update(CentOS)或apt list --upgradable(Ubuntu)查看未升级的安全补丁数量,长期不升级等于把已知漏洞敞开大门。 - 运行
rkhunter --check或chkrootkit扫描Rootkit痕迹,这两个工具是开源社区的主流选择。 - 比对系统二进制文件的完整性,
rpm -Va可以检测被篡改的系统文件,输出大量S.5....T标记行时需要逐一确认原因。
性能体检:用工具量化瓶颈
性能体检不是等系统卡了才做,而是主动通过压测和指标分析找到系统的极限在哪里,如果你在做服务器性能体检,重点跑下面这几项。
基准测试和历史基线对比
- 用
sysbench测试CPU和内存的算力,跑之前先记录上一次的测试结果,和基线相比偏差超过10%就要怀疑硬件降频或故障。 - 用
fio做磁盘性能测试,重点关注iops和latency,测试时要和生产环境的读写模式一致,混合读写和纯读写的成绩差异巨大。 - 用
iperf3测试网络带宽,观察吞吐量是否符合预期,如果千兆网卡只能跑出300Mbps,先查网卡速率协商和网线质量。
应用层性能体检
- MySQL用户检查慢查询日志,
slow_query_log开启后持续观察一周,把执行时间超过500ms的SQL都捞出来分析。 - Nginx用户检查
upstream_response_time,这个指标能反映后端服务的真实处理能力,一直变大说明后端在变慢。 - 用
vmstat 1和mpstat -P ALL 1观察CPU各个核心的工作状态,如果一个核打满而其他核闲着,基本就是单线程瓶颈或负载不均。
怎么选工具和体检频率
行业共识认为,常态化巡检比突击体检更有价值,与其半年做一次大而全的检查,不如把核心体检项固化到监控系统里。
服务器体检工具怎么选
- 轻量级手动工具:
smartctl、top、iostat、ss、dmesg,适合应急排查和临时体检。 - 开源监控平台:
Prometheus + node_exporter搭配Grafana展示面板,覆盖CPU、内存、磁盘、网络、inode等数十个指标,适合大部分中小企业。 - 商业运维平台:云厂商自带的监控中心(如简米云监控、酷番云拨测)可以自动完成部分体检项,还支持告警,比较省心。
体检频率和场景
- 日常巡检:每天看一遍核心指标(CPU、内存、磁盘、负载),5分钟搞定,建议写成脚本定时跑。
- 例行体检:每周做一次深度检查,包括SMART信息、日志扫描、账号权限核对,耗时约30分钟。
- 全面体检:每季度做一次,包含性能基准测试、安全加固核查、补丁更新评估,建议安排在业务低峰期。
如果企业没有专职运维,找第三方做一次全面体检的服务器体检价格按配置和数量不同,一般在数百元到数千元之间,比自己招人便宜不少,但要注意要求对方出具具体的检查项清单。
服务器体检报告怎么看
体检做完,报告才是最终交付物,看懂报告里的分级和处理优先级,比做体检本身更重要。
红色条目优先处理
报告里标红的问题(如RAID降级、磁盘SMART告警、Rootkit风险)属于会或已经导致故障的项,需要立刻处置,这类问题不能过夜,该换盘换盘,该隔离隔离。
黄色条目按周期整改
黄色项(如负载偏高、补丁缺失、日志告警)暂时不影响运行,但存在恶化趋势,建议把黄色项排入下一个维护窗口统一处理,同时在监控里增加对应指标的告警阈值。
绿色条目定期复核
绿色项只代表体检当天状态正常,不代表永远正常,比如CPU温度目前正常,但进入夏季高温天之后,同样负载下温度可能就超标了,所以绿色项也要按季度复核。
关于服务器体检的常见问题
服务器体检多久做一次合适
没有绝对的统一标准,核心业务服务器建议每周一次快速检查、每月一次全面体检;测试环境或非核心应用每月一次快速检查即可,在业务大促、版本发布、机房迁移等关键节点前,额外做一次全面体检很有必要,能在问题发生前提前暴露风险。
服务器体检和实时监控有什么区别
监控是7×24小时持续采集指标,发现的是正在发生或已经发生的异常,解决的是“现在有没有事”,体检是在特定时间点做一次全面的深度检查,包括硬件SMART信息、安全配置、补丁状态、日志中的历史异常记录,这些是常规监控不一定覆盖到的,二者互补,不能互相替代。
体检发现磁盘有坏道还能继续用吗
取决于坏道的数量和位置,单个重映射扇区且数值不增长的情况下,可以标记后继续观察使用;但如果Current_Pending_Sector大于0,或坏道数量持续增长,建议立即备份数据并更换硬盘,在任何情况下,坏道都是磁盘进入不稳定状态的信号,继续作为主力盘使用风险很高,提前替换是代价最小的方案。
服务器体检不是例行公事,而是用最小的检查成本替换掉潜在的宕机成本,把上面这份清单整理成自己的巡检脚本,按月执行,绝大多数因硬件老化、配置疏漏、安全问题引发的故障都能在爆发前被拦住。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/787629.html


