暂无图片
rhel 7.9 内存使用问题
我来答
分享
豆宇斯
2023-11-22
rhel 7.9 内存使用问题

rhel 7.9 oracle 19c rac 2节点内存使用异常

sga 40G pga 5G,available只有5.6G且swap也快用满了(图上是扩了swap后的),buff/cache 用了81G

查到的资料都说cache在物理内存不够的时候会释放,但是为什么还会占用2/3物理内存并且swap都快用完了还不释放

我来答
添加附件
收藏
分享
问题补充
3条回答
默认
最新
伟鹏

这是linux的一个内存机制,将内存中不常用的内存页面放到swap中去,当调用的时候再转到内存中使用。

这个可以通过swappiness设置,如果你没有设置过,redhat7默认是30,也就是当内存使用超过70%的时候就会使用swap,可以把这个值设置的小一点,越小越尽可能使用物理内存。

暂无图片 评论
暂无图片 有用 0
打赏 0
豆宇斯
题主
2023-11-23
more /proc/sys/vm/swappiness 1 已经是1了。。
伟鹏

这个东西你即使设置0,也就是尽最大可能使用物理内存,但是只要swap存在,还是会把不经常使用的内存页面放在里面的。这个避免不了的。

暂无图片 评论
暂无图片 有用 0
打赏 0
豆宇斯
题主
2023-11-23
对,所以现在是奇怪为什么cache有81G都不释放出来用
伟鹏

这个不用奇怪,这个是linux的机制,不是说他使用了不够才借用swap的空间,他主要会把他认为将来要用到的,现在不用的页面放到swap,这样就会导致swap增加了。 这个重启服务器或者手动释放,但是手动释放效果不佳。

关注一下,swap太高了,会影响数据库性能的。

暂无图片 评论
暂无图片 有用 0
打赏 0
豆宇斯
题主
2023-11-23
81G的cache也太恐怖了,数据库一共也没分配这么大,有什么办法看是因为什么占用的么
回答交流
Markdown


请输入正文
提交
相关推荐
Linux数据库服务器buffer/cache清理
回答 1
是否因为文件过大导致的呢?可以观察每次失败时是否可以找到什么规律,比如文件大小都超过多大?如果是这样可以修改超时时间,实在看不出来建议strace跟踪一下是否能更详细的显示出问题。
linux sqlserver2019正式环境能用吗?
回答 3
可以用,建议及时打最新补丁
linux能否针对某个操作系统用户设置密码过期策略?
回答 1
已采纳
可以
linux 和ubuntu是什么关系?
回答 1
已采纳
ubuntu是linux的一种,Linux主要分debian系和redhat系,还有其它自由的发布版本。红帽redhat 、centos 、suse、ubuntu等都属于linux
df -h中的use%列,将56%转为0.56
回答 1
已采纳
可以删除第5列的%,然后将数据除以100即可.但不建议shell操作,建议最终呈现数据的时候再做美化.df的时候仅去掉%即可dfPh|awk&x27;{sub(/\%/,"");$
如何撤销大页设置
回答 3
已采纳
在不重启系统的时候,单纯的注释是不行的,需要显式指定为0vm.nrhugepages0sysctlp 然后 free grepHuge/proc/meminfo看Huge
从windows上面拔下来的pdb , 能直接插入到linux的容器使用吗?
回答 3
已采纳
应该是不行的,平台不一样,文件头的信息是不一样的。
请顶级高手作答, LINUX三剑客
回答 8
已采纳
你就想看一下,服务器和哪些IP有连接? grepEST过滤建立的所有链接,不分端口,grepvtcp6去除tcp6干扰netstatant|grepEST|grepvtcp6|awk'{pr
怎样赋予其它用户find权限
回答 7
好好学习,你说:可以find命令的组加上x权限,那么如何确定FIND命令有哪些组可以用呢?有没有一个命令查询?
Linux装了19c,没重启之前测试数据库,监听都是没问题,重启了以后用lsnrctl status命令提示没有lsnrctl命令,用sqlplus也是没有sqlslus命令,是什么问题?
回答 1
环境变量设置的问题