Linux服务器健康诊断三板斧:top、netstat、du实战指南

Oracle RAC—OCR理解 Oracle RAC—OCR理解 文章目录Oracle RAC—OCR理解一、概念与原理1.什么是OCR2.OCR包含了哪些内容3.OCR的特点4.工作原理5.OCR存储内容6.OCR的健忘问题二、OCR的管理和维护1)查看集群版本2)OCR健康状态检查——ocrcheck3)OCR内容查看——ocrdump4)OCR配置——ocrconfig5)OCR修复——ocrconfig -repair6)OCR移除——ocrconfig -replace 一、概念与原理 1.什么是OCR   OCR就好比Wind 阅读详情

1. 这不是“命令合集”,而是服务器健康诊断的日常操作手册

你有没有过这样的经历:凌晨两点,手机突然弹出告警——网站响应变慢、API超时、数据库连接池打满。你火速登录服务器,手指悬在键盘上,却卡住了:该先看什么? top ? netstat ?还是 du ?敲完命令,满屏滚动的数据又让你无从下手——CPU 92% 是哪个进程干的? ESTABLISHED 状态的连接有 800 个,但到底哪些是正常业务,哪些是异常扫描? /var/log 目录显示占了 42G,可里面几百个日志文件,哪个才是真正的“磁盘杀手”?这不是命令不会用,而是缺乏一套 连贯的、有逻辑的、能闭环的资源诊断思维 。这篇内容,就是我过去八年在生产环境里,每天真实使用的那套方法论。它不讲“ top 命令有 20 个参数”,而是告诉你:当 CPU 突然飙高时,三步之内定位到罪魁祸首;当服务连不上时,如何用 netstat 和 ss 配合,5 分钟内区分是防火墙问题、端口未监听,还是客户端连接被拒绝;当磁盘快满了, du 怎么配合 find 和 sort ,精准揪出那个偷偷写日志写疯了的 Python 脚本。核心关键词 top 、 netstat 、 du 、 server resources 、 monitor ,它们不是孤立的工具,而是一套诊断链路上的“听诊器”、“血压计”和“X光片”。适合所有需要直面 Linux 服务器的人:运维工程师、后端开发、DevOps 工程师,甚至刚转行想搞懂服务器的同学。你不需要背命令,只需要理解每一步操作背后的“为什么”,就能把这套流程刻进肌肉记忆里。

2. 诊断思路拆解:从“症状”到“病灶”的三层穿透法

2.1 为什么不能一上来就 top ?——建立“资源分层”认知模型

很多新手一遇到问题,第一反应就是敲 top 。这就像人生病了,不量体温、不问症状,直接要求做全身 CT。 top 显示的是一个“结果快照”,但它无法告诉你这个结果是怎么来的。服务器资源消耗,本质上是一个 分层传导 的过程:最底层是硬件(CPU、内存、磁盘 I/O、网络带宽),中间层是操作系统内核(进程调度、内存管理、网络协议栈、文件系统缓存),最上层是你的应用进程(Nginx、MySQL、Java 应用)。任何一个上层的问题,都会向下传导,表现为底层资源的异常。所以,我的诊断思路永远是 自上而下,层层穿透 :

  • 第一层:现象层(What) —— 用户或监控系统报告了什么?是“网页打不开”(网络层)、“后台卡顿”(CPU/内存层)、还是“上传失败”(磁盘层)?这是诊断的起点,决定了你该优先关注哪类工具。
  • 第二层:进程层(Who) —— 是哪个或哪些进程在消耗资源? top 、 htop 、 ps 是这一层的主力。但关键不是看谁排第一,而是要看它的 资源消耗模式 :是 CPU 持续 100%(计算密集型)?还是内存 RSS 不断增长(内存泄漏)?或是 S (Sleeping)状态进程数量暴增(I/O 等待)?
  • 第三层:系统层(Why) —— 进程为什么这么干?这就需要 netstat 、 ss 、 lsof 、 iostat 、 iotop 、 du 、 find 等工具登场。比如,一个 Java 进程 CPU 高, top 只能告诉你“是它”,但 jstack + jstat 才能告诉你“是 GC 频繁”,而 netstat -anp | grep <pid> 则可能揭示“它正在疯狂重试连接一个已宕机的 Redis 实例”。

提示:这个三层模型,是我踩过无数坑后总结出来的。曾经有一次, top 显示 MySQL 进程 CPU 占用 95%,我以为是 SQL 问题,花了两天优化查询。最后发现, iostat -x 1 显示 %util 100%, iotop 显示 mysqld 的 I/O 等待时间极长,根源是磁盘阵列的 RAID 卡电池失效,导致写缓存被禁用,所有写操作都变成了同步落盘。这就是典型的“没穿透到第三层”导致的误判。

2.2 工具选型逻辑:为什么是 top 、 netstat 、 du ,而不是其他?

标题里点名的三个工具,绝非随意挑选,它们各自覆盖了资源监控的三大核心维度,且具备不可替代性:

  • top :实时动态的“生命体征监护仪”
    它的核心价值在于 实时性 和 交互性 。 htop 虽然更美观,但 top 是几乎所有 Linux 发行版(包括最小化安装的 CentOS/Ubuntu)的默认标配,无需额外安装。更重要的是, top 的交互模式(按 P 排序 CPU, M 排序内存, T 排序运行时间)让你能在毫秒级响应中,动态观察一个进程的资源曲线。比如,你怀疑某个 cron 任务在整点触发,就可以在 59 分 50 秒启动 top ,然后按 T 观察进程列表顶部的变化,这比任何静态快照都直观。

  • netstat :网络连接的“户籍档案管理员”
    尽管 ss (socket statistics)在性能上更优( netstat 需要读取 /proc/net/ 下多个文件, ss 直接调用内核接口),但 netstat 的输出格式更符合人类直觉,尤其是 -tuln 参数组合,已成为行业事实标准。 -t (TCP)、 -u (UDP)、 -l (Listening)、 -n (Numeric,不解析主机名和服务名)——这四个字母,就是你判断“服务是否真的在监听”、“端口是否被占用”的黄金组合。 netstat -ano | findstr :3389 (Windows)或 netstat -tulnp | grep :3389 (Linux)之所以成为高频搜索词,正是因为它是排查远程桌面(RDP)或 SSH 连接问题的第一步。 netstat 的不可替代性,在于它对 LISTEN 、 ESTABLISHED 、 TIME_WAIT 等 TCP 状态的清晰呈现,这是 ss 默认输出所欠缺的。

  • du :磁盘空间的“精准测绘员”
    df 命令只能告诉你 / 分区还剩多少空间,但它无法回答“这 20G 空间,到底被谁吃了?” du (disk usage)的威力在于它的 递归统计能力 和 路径灵活性 。 du -sh /var/* 可以快速看到 /var 下每个子目录的大小,而 du -sh /var/log/*

Linux命令行操作指南:从入门到精通的系统管理 Linux命令行是系统管理员和开发者的核心工具,通过简洁的文本指令实现高效的系统操作。其基本原理遵循命令-选项-参数的结构设计,支持脚本化批量执行和远程管理。在服务器运维、自动化部署等场景中,命令行工具如grep、awk等文本处理命令,配合SSH远程连接,能显著提升工作效率。掌握基础文件操作(cp/mv/rm)、进程管理(ps/top/kill)和权限控制(chmod/chown)等核心指令,可以解决90%的日常系统管理需求。特别是在日志分析、性能监控等实际应用场景中,命令行的灵活组合展现出独特优势。 阅读详情

相关推荐

Linux密码找回实战:GRUB引导与单用户模式操作指南

在Linux系统管理中,密码是身份验证的核心机制,其丢失会导致系统访问中断。从原理上讲,Linux系统启动过程中,引导加载程序(如GRUB)负责加载内核并传递启动参数,这为密码恢复提供了技术入口。通过修改内核启动参数,可以绕过正常的身份验证流程,直接进入具有root权限的单用户模式,从而实现对系统控制权的重获。这一技术对于系统管理员和运维工程师具有重要的应急价值,尤其在服务器运维、数据恢复等场景中至关重要。本文将以GRUB引导器为切入点,详细解析如何通过修改启动参数进入单用户模式,并安全地完成密码重置操作,

weixin_30319153的博客 348

oracle rac日常基本维护命令

oracle rac日常基本维护命令 所有实例和服务的状态 $ srvctl status database -d orcl Instance orcl1 is running on node linux1 Instance orcl2 is running on node linux2 单个实例的状态 $ srvctl status instance -d orcl -i orcl2 Instance orcl2 is running on node linux2 在数据库全局命名服务的状态 $ srvctl status service -d orcl -s orcltest Service orcltest is running on instance(s) orcl2, orcl1 特定节点上节点应用程序的状态 $ srvctl status nodeapps -n linux1 VIP is running on node: linux1 GSD is running on node: linux1 Listener is running on node: linux1 ONS daemon is running on node: linux1 ASM 实例的状态 $ srvctl status asm -n linux1 ASM instance +ASM1 is running on node linux1. 列出配置的所有数据库 $ srvctl config database orcl 显示 RAC 数据库的配置 $ srvctl config database -d orcl linux1 orcl1 /u01/app/oracle/product/10.2.0/db_1 linux2 orcl2 /u01/app/oracle/product/10.2.0/db_1 显示指定集群数据库的所有服务 $ srvctl config service -d orcl orcltest PREF: orcl2 orcl1 AVAIL: 显示节点应用程序的配置 —(VIP、GSD、ONS、监听器) $ srvctl config nodeapps -n linux1 -a -g -s -l VIP exists.: /linux1-vip/192.168.1.200/255.255.255.0/eth0:eth1 GSD exists. ONS daemon exists. Listener exists. 显示 ASM 实例的配置 $ srvctl config asm -n linux1 +ASM1 /u01/app/oracle/product/10.2.0/db_1 集群中所有正在运行的实例 SELECT inst_id , instance_number inst_no , instance_name inst_name , parallel , status , database_status db_status , active_state state , host_name host FROM gv$instance ORDER BY inst_id; INST_ID INST_NO INST_NAME PAR STATUS DB_STATUS STATE HOST -------- -------- ---------- --- ------- ------------ --------- ------- 1 1 orcl1 YES OPEN ACTIVE NORMAL rac1 2 2 orcl2 YES OPEN ACTIVE NORMAL rac2 位于磁盘组中的所有数据文件 select name from v$datafile union select member from v$logfile union select name from v$controlfile union select name from v$tempfile; NAME ------------------------------------------- +FLASH_RECOVERY_AREA/orcl/controlfile/current.258.570913191 +FLASH_RECOVERY_AREA/orcl/onlinelog/group_1.257.570913201 +FLASH_RECOVERY_AREA/orcl/onlinelog/group_2.256.570913211 +FLASH_RECOVERY_AREA/orcl/onlinelog/group_3.259.570918285 +FLASH_RECOVERY_AREA/orcl/onlinelog/group_4.260.570918295 +ORCL_DATA1/orcl/controlfile/current.259.570913189 +ORCL_DATA1/orcl/datafile/example.257.570913311 +ORCL_DATA1/orcl/datafile/indx.270.570920045 +ORCL_DATA1/orcl/datafile/sysaux.260.570913287 +ORCL_DATA1/orcl/datafile/system.262.570913215 +ORCL_DATA1/orcl/datafile/undotbs1.261.570913263 +ORCL_DATA1/orcl/datafile/undotbs1.271.570920865 +ORCL_DATA1/orcl/datafile/undotbs2.265.570913331 +ORCL_DATA1/orcl/datafile/undotbs2.272.570921065 +ORCL_DATA1/orcl/datafile/users.264.570913355 +ORCL_DATA1/orcl/datafile/users.269.570919829 +ORCL_DATA1/orcl/onlinelog/group_1.256.570913195 +ORCL_DATA1/orcl/onlinelog/group_2.263.570913205 +ORCL_DATA1/orcl/onlinelog/group_3.266.570918279 +ORCL_DATA1/orcl/onlinelog/group_4.267.570918289 +ORCL_DATA1/orcl/tempfile/temp.258.570913303 21 rows selected. 属于“ORCL_DATA1”磁盘组的所有 ASM 磁盘 SELECT path FROM v$asm_disk WHERE group_number IN (select group_number from v$asm_diskgroup where name = 'ORCL_DATA1'); PATH ---------------------------------- ORCL:VOL1 ORCL:VOL2  二: 启动/停止RAC集群 确保是以 oracle UNIX 用户登录的。我们将从rac1节点运行所有命令: # su – oracle $ hostname Rac1 停止 Oracle RAC 10g 环境 第一步是停止 Oracle 实例。当此实例(和相关服务)关闭后,关闭 ASM 实例。最后,关闭节点应用程序(虚拟IP、GSD、TNS 监听器和 ONS)。 $ export ORACLE_SID=orcl1 $ emctl stop dbconsole $ srvctl stop instance -d orcl -i orcl1 $ srvctl stop asm -n rac1 $ srvctl stop nodeapps –n rac1 启动 Oracle RAC 10g 环境 第一步是启动节点应用程序(虚拟 IP、GSD、TNS 监听器和 ONS)。当成功启动节点应用程序后,启动 ASM 实例。最后,启动 Oracle 实例(和相关服务)以及企业管理器数据库控制台。 $ export ORACLE_SID=orcl1 $ srvctl start nodeapps -n rac1 $ srvctl start asm -n rac1 $ srvctl start instance -d orcl -i orcl1 $ emctl start dbconsole 使用 SRVCTL 启动/停止所有实例 启动/停止所有实例及其启用的服务。我只是觉得有意思就把此步骤作为关闭所有实例的一种方法加进来了! $ srvctl start database -d orcl $ srvctl stop database -d orcl

oracle_rac日常基本维护命令

oracle rac日常基本维护命令 2 Oracle RAC性能调整 12 详解Oracle RAC入门和提高 27 ORACLE RAC数据库配置Dataguard环境 49 老白对于RAC应用调优的建议 51

CloudCompare里那个CSF地面滤波插件,到底怎么用?手把手教你分离点云里的地面

本文详细介绍了如何在CloudCompare中使用CSF地面滤波插件分离点云中的地面数据。通过解析布料模拟滤波算法的核心参数,如布料刚度和网格分辨率,并提供不同地形(城市、丘陵、山地)的适配策略,帮助用户高效处理复杂点云数据。文章还包含实战案例和优化技巧,确保滤波结果的精度和可靠性。

weixin_42548708的博客 221

Windows系统下com0com虚拟串口安装与驱动签名禁用全攻略

本文详细介绍了在Windows系统下安装com0com虚拟串口工具的全过程,包括驱动签名问题的解决方法。通过禁用驱动程序强制签名,用户可以顺利安装并使用这款开源工具创建虚拟串口对,适用于软件开发测试、硬件调试等场景。文章还提供了验证虚拟串口功能的实用技巧和常见问题解决方案。

weixin_28720573的博客 386

【硬件相关】IB网与以太网核心技术解析及高性能网络部署指南

本文深入解析了IB网与以太网的核心技术差异,包括协议栈、流量控制机制及硬件架构,并提供了高性能网络部署的实战指南。通过对比测试和调优案例,展示了IB网在低延迟和高负载下的优势,以及混合组网中的创新应用,助力超算集群和高效网络部署。

weixin_29311017的博客 99

python blp模型 估计_随机系数Logit模型及Stata实现

欢迎投稿(荐稿)计量经济圈,计量相关都行邮箱:econometrics666@sina.cn作者:北京交通大学经济管理学院博士生,王琦珀。欢迎你加入计量经济圈社群,一起探讨前沿计量理论和实证方法。一、随机系数Logit模型1.背景实证产业组织(Empirical Industrial Organization,EIO)是目前产业组织理论的前沿,其中又以Ariel Pakes为带头人,其近期工作论文...

weixin_42298927的博客 2641

28、解耦控制与晶圆表面缺陷模式识别

本文介绍了两种不同领域的技术方法:基于端口受控哈密顿(PCH)的三水箱液位系统解耦控制方法,以及基于无监督学习的晶圆表面缺陷模式识别方法。前者通过能量整形实现系统解耦与稳定控制,具有良好的抗干扰性和鲁棒性;后者采用无监督预训练与分类微调两阶段策略,利用WaUSM采样方法提升特征提取能力,在WM-811K数据集上实现了先进的分类性能。文章对比了两种方法的核心技术与优势,并探讨了其在工业控制与半导体制造中的应用前景及未来发展方向,为相关领域的研究与实践提供了有价值的参考。

git9versioner的博客 75

基于PointNet++网络的点云数据分类仿真分析

局部特征学习模块用于学习点云中每个点的局部特征表示,而全局特征学习模块用于学习整个点云的全局特征表示。点云数据分类是指将点云数据分为不同的类别或标签。PointNet++是一种用于点云数据处理的深度学习网络,它能够有效地学习点云数据的特征表示并实现高精度的分类。在本文中,我们将使用MATLAB实现基于PointNet++网络的点云数据分类仿真分析,并提供相应的源代码。然后,我们使用splitEachLabel函数将数据划分为训练集和测试集,其中80%的数据用于训练,20%的数据用于测试。

HackDashX的博客 210

AIPex:AI + 自然语言驱动的浏览器自动化扩展

AIPex是一款革命性的Chrome扩展,通过AI技术实现自然语言驱动的浏览器自动化。它支持30多种自动化工具,包括智能标签页管理(分组、切换、批量操作)、页面内容提取(文本、链接、元数据)、交互元素操作(点击、滚动)以及表单智能填写等功能。用户只需用自然语言下达指令,即可快速完成复杂的浏览器操作,大幅提升工作效率。AIPex特别适合需要处理大量重复性网页操作的用户,如数据分析师、产品经理等。

blues_C的博客 1127

YOLOv11改进 | 模型知识蒸馏篇 | 利用模型蒸馏改进YOLOv11进行无损涨点 | 离线蒸馏(附代码 + 完整文件 + 解析教程)

这篇文章给大家带来的最新改进是模型的蒸馏,利用教师模型指导学生模型从而进行模型的涨点,本文的内容不仅可以用于论文中,在目前的绝大多数的工作中模型蒸馏是一项非常重要的技术,所以大家可以仔细学习一下本文的内容,本文从YOLOv8的项目文件为例,进行详细的修改教程,文章内包括完整的修改教程,针对小白我出了视频修改教程,如果你还不会我提供了修改后的文件大家直接运行即可,所以说不用担心不会适用!模型蒸馏真正的无损涨点,蒸馏你只看这一篇文章就足够了!欢迎大家订阅我的专栏一起学习YOLO!

Snu77的博客 4322

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

上一篇: Debian 8下为Nginx启用ngx_http_log_module实战指南
下一篇: Scikit-learn数据契约与Estimator四步闭环实战指南
cuixie2370
博客等级 码龄10年 16粉丝 842原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值