Linux磁盘故障导致系统运行缓慢怎么解决
有时Linux磁盘碎片多,甚至出现故障,都会导致系统运行缓慢,这是不少用户都遇到过的事情了,那么遇到这种问题应该如何处理呢?下面小编就给大家介绍下Linux磁盘故障导致系统运行变慢的解决方法。
Linux磁盘故障导致系统运行缓慢的解决方法
OS :solaris 10
DBMS:Oracle 10.2.0.3.0
Canada 某运营商报系统运行变的异常慢,造成数据积压。
先出个awr 报告
log file sync 45,755 33,981 743 59.7 Commit
CPU time 14,009 24.6
db file parallel write 63,119 11,374 180 20.0 System I/O
db file sequential read 736,650 3,692 5 6.5 User I/O
log file parallel write 9,148 3,081 337 5.4 System I/O
绝大部分为IO引起的。
先检查 log日志情况
select * from v$logfile;
有64个50m的在线日志组。明显不合理先
增加5个2g 的日志组\
alter databae add logfile group 66 ‘/filepath/redolog66.log’ size 2g;
。
alter database drop logfile group 1;
alter database drop logfile group 2;
。。
alter database drop logfile group 64;
alter database drop logfile group 65;
观察问题仍然存在。
比较幸运的是找到了一个前个月的awr 报告,一比较负载远不如从前。
观察系统IO情况
device r/s w/s kr/s kw/s wait actv svc_t %w %b
md0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0
md1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0
md3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0
md5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0
md10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0
md11 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0
md13 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0
md15 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0
md20 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0
md21 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0
md23 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0
md25 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0
sd0 0.0 0.2 0.0 0.1 0.0 0.0 3.9 0 0
sd1 0.0 0.2 0.0 0.1 0.0 0.0 4.2 0 0
sd2 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0
sd3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0
sd4 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0
ssd5 13.0 106.0 126.4 847.7 0.0 1.8 15.4 0 100
ssd6 0.0 3.4 0.0 1.8 0.0 0.1 34.0 0 2
ssd7 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0
ssd8 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0
ssd9 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0
nfs1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0
每秒的写出只有840k左右,这远不是一磁阵的应有的性能表现
但是cp 一个大文件性能和读的性能却还可以。通知前线同事先检查一下设备情况
磁阵的cache 特性,我会在其它的日志介绍。
反馈是cache 的电池已过期,cache 禁用。协调更换电池。
相关阅读:系统变得很慢原因分析
第一步:登录后台服务器/监控平台,查看系统资源是否达到上限,例如:CPU、内存、磁盘、I/O、网络带宽等,如果是这些问题,先将这些问题逐一解决:
如果是CPU的问题,则需要查看一下CPU占比比较高的进程,然后使用jstack命令生成进程的堆栈信息,看是否发生频繁Full GC,如果是的话,还需要看一下内存快照,分析一下内存情况(可以使用java自带的或第三方工具);如果是磁盘空间满了,及时清理磁盘;如果是带宽满了,联系网络工程师解决。如果以上这些问题都没有,则进行第二步。
第二步:检查应用服务器(Jboss/Tomcat)的线程池配置是否合理,看一下请求的排队现象是否严重,如果严重则需要重新设置合理的线程池。同样,检查一下数据库的连接池设置是否合理,增大连接池设置,同时检查一下是否有慢sql,如果有慢sql,则进行优化(优化方案是查看执行计划,设置合理的索引等)。
第三步:查看访问慢的服务的调用链,查看一下调用链中的每一步响应时间是否合理,如果不合理,则联系相关系统的负责人进行排查和解决。
第四步:检查web服务器的请求日志,看一下是否存在Doss攻击,如果有Doss攻击,则将攻击者的IP添加到防火墙的黑名单里。