企业级linux服务器综合性能巡检需结构化判断:inode超90%、memavailable低于20%、swap持续换页、cpu真实计算超90%、io await异常升高、负载持续超核数1.5倍、ntp偏差超10ms、内核panic非零、端口暴露高危、sudo过度授权等均为关键风险点。

企业级 Linux 服务器的综合性能巡检,核心是把“零散命令”变成“结构化判断”——不是看单次数值是否超标,而是结合趋势、关联项和业务上下文做风险识别。重点不在“有没有跑”,而在“会不会突然崩”。
资源使用率必须双控:空间+Inode、内存+Swap、CPU+IO联动看
磁盘不能只查 df -h:/var/log、/tmp 这类小文件密集目录,df -i 显示 Inode 使用率超 90% 就得处理,否则日志写不进、临时文件建不了,服务会静默失败。
内存别信 free -h 的 free 值:关键看 MemAvailable,低于总内存 20% 就预警;如果 swap used > 0,再用 vmstat 1 5 看 si/so 是否非零——持续换页说明内存真不够,不是缓存释放慢。
CPU 别只盯 top 的 %CPU:它包含 IO 等待时间。用 pidstat -u 1 3 查真实计算消耗;若某进程长期 >90%,再用 perf top -p PID 看函数级热点,区分是业务逻辑卡顿还是系统调用阻塞。
IO 瓶颈要交叉验证:iostat -xm 1 3 中 %util >70% 持续出现,同时 await 明显升高(SSD 超 10ms、HDD 超 30ms),再配合 iotop -oPa 找出具体进程,避免把数据库慢查询误判为磁盘故障。
系统健康要抓“隐形失稳点”:负载趋势、时间同步、内核状态
平均负载不能只看 uptime:对比 /proc/loadavg 的 1/5/15 分钟值。若 15 分钟值持续高于逻辑 CPU 核数 ×1.5,说明压力在累积,不是瞬时抖动。
时间偏差是分布式系统的隐性杀手:用 timedatectl status 确认 NTP 同步状态,再检查 ntpstat 或 chronyc tracking 输出的 offset。偏差超 10ms 就可能影响数据库事务顺序或日志时间戳对齐。
Linux 性能分析与调优专家,覆盖 CPU、内存、磁盘 I/O、网络、内核参数、编译优化、容器/K8s。适用场景:系统卡顿/高负载、内存不足/OOM/Swap 高、CPU 异常/iowait 高。
内核异常不只看 dmesg:运行 dmesg -T | tail -20 扫描近期报错,但更要关注 cat /proc/sys/kernel/panic 是否为 0(非 0 表示内核崩溃后自动重启,已丢失现场);检查 systemctl is-system-running 返回是否为 running,避免 systemd 卡死却没报错。
服务与网络验证必须“通、稳、配”三层确认
端口监听不能只靠 ss -tuln:过滤掉 kernel 和 systemd 进程,只留业务进程;再对照架构文档确认端口用途,比如 Redis 绑定 0.0.0.0:6379 就是高危配置,必须改为 127.0.0.1 或加防火墙限制。
连通性测试要从跳板机发起:对关键端口(22、3306、6379),用 nc -zv IP PORT 实测,不能只看本地监听。发现不通,立刻查 iptables/nft 规则、SELinux 状态(sestatus)、服务是否真在运行(systemctl is-active SERVICE)。
服务依赖和自启要双向验证:对 nginx、mysql 等核心服务,执行 systemctl list-dependencies --reverse SERVICE 看谁依赖它,避免误停上游;再用 systemctl is-enabled SERVICE 确认开机自启,禁用项必须有审批记录,不能口头约定。
安全状态检查聚焦“可登录、可执行、可暴露”三个动作面
账号权限不只看 /etc/passwd:用 awk -F: '$3 == 0 {print $1}' /etc/passwd 确认 UID=0 的只有 root;用 lastlog -b 90 查 90 天未登录账号,结合业务确认是否该禁用;sudo -l -U username 对每个 sudo 用户执行,严防 NOPASSWD: ALL 这类过度授权。
SSH 配置必须实测生效:检查 /etc/ssh/sshd_config 中 PermitRootLogin no、PasswordAuthentication no、AllowUsers 白名单是否配置正确,改完必须 systemctl reload sshd 并从外部实测能否用密钥登录、能否用密码登录、root 是否被拒。
定时任务和启动项要扫异常路径:查 crontab -l(root)、ls /etc/cron.*、systemctl list-timers --all,留意脚本路径是否在 /tmp、/dev/shm 等易清理目录;用 find /etc/systemd/system -name "*.service" -exec grep -l "ExecStart=.*sh" {} \; 找可疑 shell 启动项。










