首页 > 其他分享 >磁盘IO利用率高问题排查SOP

磁盘IO利用率高问题排查SOP

时间:2023-07-09 13:33:09浏览次数:31  
标签:步骤 SOP 线程 IO 进程 磁盘 ID

对于业务开发来说,碰到磁盘IO利用率高的情况并不多,毕竟写磁盘的操作都集中到DB了,例如mysql/redis/hbase,一般由DBA来处理。但一些业务上的写文件、写日志,还是可能会碰到的。

步骤1:查看服务整体状态:top

从设备角度:
iostat 2 // 每2秒输出一次io使用情况

步骤2:找出占用IOPS大的进程

# -d表明显示磁盘IO,每1秒输出一次,输出20次
pidstat -d 1 20

步骤3:找出进程对应的线程

# -d表示磁盘IO,-t代表显示线程,-p代表进程ID,每1秒打印一次,共显示5次
pidstat -dt -p [pid] 1 5

步骤4:查看进程在做什么系统IO调用

# -p表示进程ID,-f表示同时追踪线程的系统调用(默认只追踪进程的)
strace -f -p [pid]

(这里也可以使用perf trace -t [tid] -o [output file name]来记录系统调用,使用cat [filename]来查看。


可以看出,有大量的open、write和close系统调用。write每次写入1048575字节。

步骤5:结合代码查看是否有问题

定位到具体的线程、以及线程在做什么之后,就可以结合代码来看了。

  • 对于mysql,可以结合线程ID,结合information_schema表,来查看是哪个SQL语句导致的
  • 对于java线程,可以结合jstack输出的Java线程ID和native线程ID,来找到对应的java线程ID

标签:步骤,SOP,线程,IO,进程,磁盘,ID
From: https://www.cnblogs.com/phenixlife/p/17535591.html

相关文章

  • Visio如何绘制技术路线图、方法流程图?
      本文介绍基于Visio软件绘制技术路线图、流程图、工作步骤图等的方法。  首先打开Visio。我们可以直接选择“基本框图”进行绘制。  也可以选用一些模板。  本次我们就以“流程图”为例来绘制。  因为要绘制论文的技术路线图,因此各种形状简约即可,我们就选择“基......
  • next_permutation 函数
    next_permutation函数next_permutation是全排列函数。一、基本用法inta[];do{}while(next_permutation(a,a+n));二、例题[P1088[NOIP2004普及组]火星人]([P1088NOIP2004普及组]火星人-洛谷|计算机科学教育新生态(luogu.com.cn))#include<bits/stdc++.h......
  • IoTOS-v1.2.1接入J-IM(t-io)后台通知App
    IoTOS v1.2.1         一、登录页增加可修改轮播     登录页增加可修改数据轮播:首页轮播图由背景图片、标题、介绍、按钮一、按钮二(可配置跳转地址打开方式)组合而成  二、登录页增加常用运营商平台&关于-IoTOS链接    登录页增加国内常......
  • IOCP
    https://www.bilibili.com/video/BV19V4y1173b/?spm_id_from=333.337.search-card.all.click&vd_source=3b08e97e50222fa2ec22737f6dcb2202https://www.bilibili.com/video/BV13p4y1z7aa/?spm_id_from=333.337.search-card.all.click&vd_source=3b08e97e50222fa2ec22......
  • 【论文解析】EJOR 2011 A clustering procedure for reducing the number of represen
    论文名称:AclusteringprocedureforreducingthenumberofrepresentativesolutionsintheParetoFrontofmultiobjectiveoptimizationproblems动机假设一个三目标优化问题\[\begin{aligned}&\text{Availability:}\max_\thetaJ_1(\theta)=\max_{\theta_p,......
  • CF1702G2 Passable Paths (hard version)
    PassablePaths(hardversion)思路题意:判断是否存在一条链包含树上给定点集。考虑把\(1\)当做树的根,将无根树转化为有根树。考虑这样一个性质:若存在满足条件的最短链,则点集中深度最深的点\(u\)是该链的一个端点,点集中距离\(u\)最远的点\(v\)是该链的另一端点。证明......
  • 扫描linux系统磁盘占用,释放空间的免费工具
    如何查找linux系统的磁盘占用,扫描大文件,释放空间,可以使用免费工具ncdu。虽然有du和df命令可以查询磁盘和文件夹的大小,但毕竟不方便,不能扫描整个磁盘的情况。用ncdu命令更直观,可以按目录以树形显示每个文件夹的大小,找到占空间的文件或者文件夹,删除释放磁盘空间。并且扫描速度飞快......
  • Android显示系统——Transaction
    Transaction是应用与SurfaceFlinger交流的方式之一,应用通过打开一个Transaction,然后设置各种setXXX操作,最后通过apply把所有的设定操作提交给SurfaceFlinger进行处理。Transaction最常用的使用方法(套路)一般如下:Transactiont;t.setLayer(mSurfaceControl,0x7fffffff).s......
  • transmission提示"No space left on device"错误
    通过df-h发现根目录空间已满通过du-h-x--max-depth=1找到/var/cache/apt/archives和/lib/modules两个目录占用较大。/var/cache/apt/archives的清理:sudoapt-getclean/lib/modules的清理:先看一下当前使用的版本:uname-a使用命令查看目前已经安装的内核:dpkg--get-s......
  • 《Generative Agents: Interactive Simulacra of Human Behavior》论文学习
    一、论文基本思想Figure1:Generativeagentscreatebelievablesimulacraofhumanbehaviorforinteractiveapplications.Inthiswork,wedemonstrategenerativeagentsbypopulatingasandboxenvironment,reminiscentofTheSims,withtwenty-fiveagents.Use......