
当exadata中的IB交换机内存使用较高或者内存使用率接近满时,会导致性能问题,内存用尽时,可能阻止补丁升级。本文提供3种处理方法进行说明,适用于其它linux系统。

01
解决方法1-重启IB交换机
通常简单办法,在维护期间,使用reboot重启ib交换机。建议在维护期间进行操作。
02
解决方法2-释放内存
在不重启情况下,释放使用的内存。
查看内存使用
# date ; head proc/meminfo ; free -m
将内存数据写入磁盘
# sync ; sleep 10 ; sync
释放内存
# echo 1 > proc/sys/vm/drop_caches ; free -m #frees page cacheOR# echo 2 > proc/sys/vm/drop_caches ; free -m #frees dentry and inode_cacheOR# echo 3 > proc/sys/vm/drop_caches ; free -m #frees page cache, dentry, and inode_cache
查看内存使用
# date ; head proc/meminfo ; free -m
适用于linux kerner v2.6.16及之后内核(uname -a确认)
03
解决方法3-强制回收
当Linux内核达到/proc/sys/vm/min_free_kbytes中指定的限制时,会提前强制其回收所有未使用/不活动的内存,如果方法2不起作用时,可采用如下进行限制,提前回收。
查看当前设置
# sysctl vm.min_free_kbytes
修改为合适的限定值,单位KB
# vi /etc/sysctl.conf...vm.min_free_kbytes=<suitable_value_in_KB>...
使限制生效
# sysctl -p
查看当前设置
# sysctl vm.min_free_kbytes
04
ref
How to clear for memory spaces when memory of an IB switch (NM2-36P and NM2-GW) becomes full or almost full. (Doc ID 1987078.1)
文章转载自rundba,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




