swap导致的数据库不能访问

 事情总是一块来的。今天因为是月底最后一天,刚好还有2个数据订正要做,正在编写脚本、同开发人员确认处理逻辑,且催得很急。不巧的是,测试db这时也出问题,load很高。没办法订正先放下来,解决测试的问题,否则影响下午的测试。

  新建ssh连接没有反应,好在此前已经有一个ssh terminal连在服务器上,top命令打下去就没有响应了,等了几分钟终于出来结果。发现top的进程列表排在最前面的是两个进程kscand和 kswapd,注意到swap分配的内存为0,被使用的swap内存也为0. 因为cpu太忙,输入的命令都不可能,通知测试人员先把测试服务器的应用停了下来。为什么swap内存没有分配了,fdisk -l 发现 /dev/sdg2  是swap对应的分区,检查/etc/fstab 发现swap对应的设备是/dev/sda2,奇怪磁盘设备的编号怎么不一样了?

    通过powermt查看存储的磁盘路径,有2个lun分配给系统,lun 3有2个通道设备/dev/sda,/dev/sdc,lun 8有2个通道设备/dev/sdb,/dev/sdd,记得机器安装配置时lun分配的设备应该只有lun 3。lun 8是后加的,印象中记得以前本地硬盘的设备编号是/dev/sda。应该就是这个导致了系统的load飙高,因为没有swap,导致系统的内存有4G被用 作swap,导致页换进换出,系统消耗的cpu很高。swapon /dev/sdg2,编辑/etc/fstab的swap设备,重新mount -a.

    通知测试启动环境应用,故障消失。检查db日志和v$pgastat都没有发现异常,因为应用被强制停止的,所以当时在运行的sql和等待事件都没法知 道。但从现在来看应该是swap导致了这次的问题,什么原因导致swap的设别名被更改了,还真不太确定,不知道跟上次动态从存储分配一个lun过来有没 有关系。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值