一次磁盘IO高的问题处理

问题现象:

开发测试环境的kubernetes master服务器,磁盘读写速率很高,达200多M/s,IOPS超过8000/S,系统操作出现卡顿(还好硬盘是SSD,否则系统早卡死掉了),截图如下:

解决思路:

1、使用iotop查看IO高的进程,并kill,问题依旧

2、重启系统后正常,但一段时间后问题重现

3、查看内存,发现物理内存已基本使用完,并且在大量使用swap,因此问题原因可以确定:

IO高是因为进程大量使用swap交换页所导致!!!

注:因为是开发测试环境,没有部署监控、分配的资源也不多。

解决办法:

增加物理内存后问题彻底消除。

来源:

http://www.toxingwang.com/linux-unix/linux-admin/2984.html

原文地址:https://www.cnblogs.com/gao88/p/9695317.html

时间: 2024-11-03 22:13:19

一次磁盘IO高的问题处理的相关文章

MYSQL数据库服务磁盘IO高问题分析与优化

压力测试过程中,如果因为资源使用瓶颈等问题引发最直接性能问题是业务交易响应时间偏大,TPS逐渐降低等.而问题定位分析通常情况下,最优先排查的是监控服务器资源利用率,例如先用TOP 或者nmon等查看CPU.内存使用情况,然后在排查IO问题,例如网络IO.磁盘IO的问题. 如果是磁盘IO问题,一般问题是SQL语法问题.MYSQL参数配置问题.服务器自身硬件瓶颈导致IOPS吞吐率问题. 今天主要是讲解MYSQL 参数配置不合理导致在高并发下磁盘IO问题,而MYSQL整体监控优化方案后面会整理<如何轻

磁盘IO高和线程切换过高性能压测案例分析

案例现象: 压力测试的时候,发现A请求压力80tps后,cpu占用就非常高了(24核的机器,每个cpu占用率全面飙到80%以上),且设置的检查点没有任何报错. 1.top命令如下: 2. 了解了一下后台实现逻辑:大体是这样的:服务器接到请求后,会再到另一台kv服务器请求数据,拿回来数据后,根据用户的机器码做个性化运算,最后将结果返回给客户端,期间会输出一些调试log. 查了下,kv服务器正常,说明是本机服务服务器的问题.具体用vmstat命令看一下异常的地方. 3. 从图中可以直观的看出,bi.

磁盘IO过高时的处理办法

针对系统中磁盘IO负载过高的指导性操作 主要命令:echo deadline > /sys/block/sda/queue/scheduler 注:以下的内容仅是提供参考,如果磁盘IO确实比较大的话,是数据库,可以进行读写分离或者分库操作,减小磁盘压力,文件的话,可以利用raid来减轻压力 一)I/O调度程序的总结: 1)当向设备写入数据块或是从设备读出数据块时,请求都被安置在一个队列中等待完成.2)每个块设备都有它自己的队列.3)I/O调度程序负责维护这些队列的顺序,以更有效地利用介质.I/O

记一次性能测试:mysql占用磁盘IO过高 的解决过程

在一次性能测试时,发现mysql的cpu使用率不高,但是磁盘io很高, 一开始考虑是mysql的慢日志比较多,但是查看后发现慢日志并不多,而且只有一台mysql. 进入实例,查看sync_binlog变量 mysql> show variables like '%sync_binlog%' -> ; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | sync_binlog | 1 |

JDB2导致磁盘io使用率高

前几天碰到jbd2进程占用大量的磁盘io,用iotop查看到的情况大致如下: 系统版本:CentOS6.5-64bit 经查为ext4文件系统的一个bug: 先给出解决方案,处理此问题的优先级为: 1.yum update kernel 用yum升级系统内核,重启之后查看是否有效: 2.缓解方法:修改commit值,降低文件系统提交次数或者禁用barrier特性: 建议文件系统参数为:defaults,noatime,nodiratime,barrier=0,data=writeback,com

通过blktrace, debugfs分析磁盘IO

前几天微博上有同学问我磁盘util达到了100%时程序性能下降的问题,由于信息实在有限,我也没有办法帮太大的忙,这篇blog只是想给他列一下在磁盘util很高的时候如何通过blktrace+debugfs找到发生IO的文件,然后再结合自己的应用程序,分析出这些IO到底是谁产生的,最终目的当然是尽量减少不必要的IO干扰,提高程序的性能. blktrace是Jens Axobe写的一个跟踪IO请求的工具,linux系统发起的IO请求都可以通过blktrace捕获并分析,关于这个工具的介绍请自行Goo

【好书摘要】性能优化中CPU、内存、磁盘IO、网络性能的依赖

系统优化是一项复杂.繁琐.长期的工作,优化前需要监测.采集.测试.评估,优化后也需要测试.采集.评估.监测,而且是一个长期和持续的过程,不 是说现在优化了,测试了,以后就可以一劳永逸了,也不是说书本上的优化就适合眼下正在运行的系统,不同的系统.不同的硬件.不同的应用优化的重点也不同. 优化的方法也不同.优化的参数也不同.性能监测是系统优化过程中重要的一环,如果没有监测.不清楚性能瓶颈在哪里,怎么优化呢?所以找到性能 瓶颈是性能监测的目的,也是系统优化的关键.系统由若干子系统构成,通常修改一个子系

Linux服务器用iotop命令分析服务器磁盘IO情况

Linux下的IO统计工具如iostat, nmon等大多数是只能统计到per设备的读写情况, 如果你想知道每个进程是如何使用IO的就比较麻烦.如果会systemtap, 或者blktrace这些事情难不到大家, 但是没专用工具总不是很舒服的. 幸运的是Linux 2.6.20内核以后提供了基于每个进程的IO记账功能,所以就有了类似iotop这样方便的工具.可以通过iotop工具进行分析,查看哪个进程占有读写比较高. 官网地址: http://guichaz.free.fr/iotop/ Iot

磁盘io性能分析

一,概念 磁盘io,顾名思义就是磁盘的输入输出.即向磁盘写入数据和从磁盘读取数据. I/O 读写的类型,大体上讲,I/O 的类型可以分为: 读 / 写 I/O.大 / 小块 I/O.连续 / 随机 I/O, 顺序 / 并发 I/O.在这几种类型中,我们主要讨论一下:大 / 小块 I/O.连续 / 随机 I/O, 顺序 / 并发 I/O. 1,读 / 写 I/O 磁盘是用来给我们存取数据用的,因此当说到IO操作的时候,就会存在两种相对应的操作,存数据时候对应的是写IO操作,取数据的时候对应的是是读