环境:
Oracle 11gr2 + dataguard
512GB内存 + 128核cpu + 高性能存储服务器
uname -an
Linux dbhost 2.6.18-238.el5 #1 SMP Sun Dec 19 14:22:44 EST 2010 x86_64 x86_64 x86_64 GNU/Linux
症状:
做rman备份时,系统内存急剧下降,直到系统失去响应宕机。
病因:
linux默认参数vm.min_free_kbytes 64mb,
/proc/sys/vm/min_free_kbytes
该文件表示强制Linux VM最低保留多少空闲内存(Kbytes)。
当可用内存低于这个参数时,系统开始回收cache内存,以释放内存,直到可用内存大于这个值。
/proc/sys/vm/vfs_cache_pressure
该文件表示内核回收用于directory和inode cache内存的倾向;缺省值100表示内核将根据pagecache和swapcache,把directory和inode cache保持在一个合理的百分比;降低该值低于100,将导致内核倾向于保留directory和inode cache;增加该值超过100,将导致内核倾向于回收directory和inode cache。
由于rman备份到本地存储,占用大量内存做cache,当内存不够时,系统开始回收cache内存,把数据同步写入磁盘。写入磁盘过程是比rman写入内存的速度要慢得多,rman继续申请占用cache,而系统却无法及时回收可用内存,最终可用内存为0,导致系统失去响应。
解决办法:
修改参数:最低保留内存加大至50gb,vfs_cache_pressure改到200
vm.min_free_kbytes = 52428800
vm.vfs_cache_pressure=200
经实测,rman备份时,可用内存下降到50gb附近(最低45gb),不再下降,系统运行正常。
最后修改时间:2020-10-20 14:28:40
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




