0

0

Linux 运维中指标选择的原则

舞夢輝影

舞夢輝影

发布时间:2026-02-06 16:41:02

|

708人浏览过

|

来源于php中文网

原创

linux 运维中指标选择的原则

监控指标不在于多,而在于“精准”

运维中最大的误区,是把所有能采集的指标都塞进监控系统——结果告警泛滥、噪音压过信号。真正影响业务可用性的关键指标其实很窄:CPU 持续高负载 + 进程阻塞、内存 available 低于 500MB、SwapUsed 非零、磁盘 %util >80% 且 await >50ms、网络重传率 retrans >1%。这些才是该立刻响应的信号。

为什么只盯这几个?因为它们直接对应服务中断或响应超时的物理原因。比如 await 高但 %util 低,说明不是磁盘忙,而是队列深或IO路径卡在驱动/控制器层——这时加磁盘没用,得查 smartctldmesg | grep -i "nvme\|ata"

必须结合上下文看指标,不能孤立判断

单独一个 %wa(iowait)>20%,不代表磁盘出问题;如果此时 free -h 显示 available 只剩 200MB,那大概率是内存不足触发了内核频繁回收 page cache,进而导致读文件变慢——本质是内存瓶颈,不是IO瓶颈。

常见误判场景:

  • load average 高但 %idle 也高:典型 IO 等待,vmstat 1b(blocked 进程数)和 wa 列确认
  • top%us 占 95%,但 pidstat -u 1 发现全是 java 进程:不是异常,是应用正常计算;但若同一进程 %sys 也飙升,就要查是否在频繁 read()/write() 小包
  • si/so(swap in/out)每秒 >10MB:说明已进入内存严重不足状态,smem -s rss -r | head -5 找真实吃内存的进程,而不是只看 ps aux --sort=-%mem

阈值必须匹配硬件规模和业务特征

4 核机器的 load average 警戒线不是固定值,而是 nproc × 0.7 ≈ 2.8;8 核服务器跑数据库,%sys 常态 25% 是合理的(大量 buffer 管理、页回收),但对 Web 服务来说就偏高。

XYCMS建站系统php版1.4
XYCMS建站系统php版1.4

XYCMS建站系统PHP版非MVC框架,自己手写原生态普通代码,作为企业用,已经绰绰有余。软件运行效率中等,加入数据缓存后性能提高。假如用来学习,下载可以慢慢研究的,假如用来建站,可以选择购买商业版就行建站用。栏目类别:文章,人员信息,专题项目,招聘,下载,相册,单页【支持无限极分类】文章:可用作添加新闻,资讯,列表信息类栏目信息人员信息:可用作企业员工信息栏目内容添加或者维护专题项目:可用作企业

下载

实操建议:

  • sar -q 1 300(采样 5 分钟)代替单次 uptime,避开瞬时毛刺
  • 对 Java 应用,jstat -gc FGCT(Full GC 次数)比堆内存使用率更有预警价值——GC 频繁但堆未满,说明对象生命周期设计有问题
  • SSD 场景下,iostat -x 1 中的 svctm 已无意义,重点盯 r_await/w_awaitaqu-sz(平均队列长度)

避免“指标幻觉”:有些数字天生不可靠

%idle 在超线程 CPU 上可能虚高;free 输出的 used 包含 buff/cache,直接拿它除以总内存算“使用率”会误判;top 默认显示的 CPU 使用率是所有核心加权平均,掩盖单核 100% 卡死的问题。

所以必须交叉验证:

  • 怀疑单核瓶颈?用 mpstat -P ALL 1 看每个核心的 %usr
  • 不确定内存是否真紧张?cat /proc/meminfo | grep -E "MemAvailable|Cached|SReclaimable",用 MemAvailable 值为准
  • 网络丢包疑云?别只信 ifconfigerrors,跑 ethtool -S eth0 | grep -i "drop\|error" 查驱动层真实丢弃计数

最常被忽略的一点:所有指标采集本身有开销。高频轮询 /proc 文件(如每秒多次 pidstat)可能让本就不堪重负的系统雪上加霜——监控频率要和业务 SLA 对齐,不是越密越好。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
sort排序函数用法
sort排序函数用法

sort排序函数的用法:1、对列表进行排序,默认情况下,sort函数按升序排序,因此最终输出的结果是按从小到大的顺序排列的;2、对元组进行排序,默认情况下,sort函数按元素的大小进行排序,因此最终输出的结果是按从小到大的顺序排列的;3、对字典进行排序,由于字典是无序的,因此排序后的结果仍然是原来的字典,使用一个lambda表达式作为key参数的值,用于指定排序的依据。

397

2023.09.04

scripterror怎么解决
scripterror怎么解决

scripterror的解决办法有检查语法、文件路径、检查网络连接、浏览器兼容性、使用try-catch语句、使用开发者工具进行调试、更新浏览器和JavaScript库或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

309

2023.10.18

500error怎么解决
500error怎么解决

500error的解决办法有检查服务器日志、检查代码、检查服务器配置、更新软件版本、重新启动服务、调试代码和寻求帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

317

2023.10.25

堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

400

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

579

2023.08.10

线程和进程的区别
线程和进程的区别

线程和进程的区别:线程是进程的一部分,用于实现并发和并行操作,而线程共享进程的资源,通信更方便快捷,切换开销较小。本专题为大家提供线程和进程区别相关的各种文章、以及下载和课程。

610

2023.08.10

数据库三范式
数据库三范式

数据库三范式是一种设计规范,用于规范化关系型数据库中的数据结构,它通过消除冗余数据、提高数据库性能和数据一致性,提供了一种有效的数据库设计方法。本专题提供数据库三范式相关的文章、下载和课程。

362

2023.06.29

如何删除数据库
如何删除数据库

删除数据库是指在MySQL中完全移除一个数据库及其所包含的所有数据和结构,作用包括:1、释放存储空间;2、确保数据的安全性;3、提高数据库的整体性能,加速查询和操作的执行速度。尽管删除数据库具有一些好处,但在执行任何删除操作之前,务必谨慎操作,并备份重要的数据。删除数据库将永久性地删除所有相关数据和结构,无法回滚。

2087

2023.08.14

1688阿里巴巴货源平台入口与批发采购指南
1688阿里巴巴货源平台入口与批发采购指南

本专题整理了1688阿里巴巴批发进货平台的最新入口地址与在线采购指南,帮助用户快速找到官方网站入口,了解如何进行批发采购、货源选择以及厂家直销等功能,提升采购效率与平台使用体验。

60

2026.02.06

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 8.6万人学习

Git 教程
Git 教程

共21课时 | 3.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号