linux mysql 如何释放内存_LINUX 环境, 如何释放大页占用的内存?

LINUX7.3  ORACLE 11204

启用了大页+SGA+PGA,现想切换到 MEMORY_TARGET 参数作测试,发现,即便关闭数据库,关闭CRS,还是没法释放大页占用的内存,导致设置了 MEMORY_TARGET 参数后,无法启动。

请问:在不重启服务器的情况下,如何释放大页占用的内存?

SYS@orcl2>show parameter memory

NAME                                 TYPE                              VALUE

------------------------------------ --------------------------------- ------------------------------

hi_shared_memory_address             integer                           0

memory_max_target                    big integer                       0

memory_target                        big integer                       0

shared_memory_address                integer                           0

SYS@orcl2>show parameter pga

NAME                                 TYPE                              VALUE

------------------------------------ --------------------------------- ------------------------------

pga_aggregate_target                 big integer                       30G

SYS@orcl2>show parameter sga

NAME                                 TYPE                              VALUE

------------------------------------ --------------------------------- ------------------------------

lock_sga                             boolean                           FALSE

pre_page_sga                         boolean                           FALSE

sga_max_size                         big integer                       70G

sga_target                           big integer                       70G

SYS@orcl2>alter system set memory_target=100g scope=spfile sid='*';

System altered.

Elapsed: 00:00:00.07

SYS@orcl2>alter system reset pga_aggregate_target scope=spfile sid='*';

System altered.

Elapsed: 00:00:00.01

SYS@orcl2>shutdown immediate;

ORA-01507: database not mounted

ORACLE instance shut down.

SYS@orcl2>startup nomount;

ORA-27102: out of memory

Linux-x86_64 Error: 12: Cannot allocate memory

Additional information: 26

Additional information: 3538951

Additional information: -2147483648

SYS@orcl2>

SYS@orcl2>exit

Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

With the Partitioning, Real Application Clusters, OLAP, Data Mining

and Real Application Testing options

[cloudrac2@oracle /tmp]

$free -m

total        used        free      shared  buff/cache   available

Mem:         128648       75805      49176         390        3666       42744

Swap:          4095           0        4095

[cloudrac2@oracle /tmp]

$

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux 系统中,buff/cache 是操作系统用来缓存磁盘数据的一种机制。当应用程序需要读取磁盘上的数据时,Linux 会先将这些数据缓存到内存中,以提高磁盘读取速度。当应用程序需要使用内存时,缓存数据会被清除,将内存返还给应用程序使用。 如果 buff/cache 内存占用过高,有几种可能的解决办法: 1. 调整 vm.dirty_ratio 和 vm.dirty_background_ratio 参数 vm.dirty_ratio 指定了内存中脏数据所占的最大比例,默认值为 20,意味着当内存中脏数据占用超过 20% 时,系统会开始写入磁盘。vm.dirty_background_ratio 指定了内存中脏数据所占的最小比例,默认值为 10,意味着当内存中脏数据占用低于 10% 时,系统会开始写入磁盘。 可以通过修改这两个参数的值来调整 buff/cache 内存占用。例如,将 vm.dirty_ratio 和 vm.dirty_background_ratio 的值都设置为 5,则系统会更频繁地把脏数据写入磁盘,从而减少内存中的缓存数据。 2. 调整 swappiness 参数 swappiness 是一个控制系统将内存中的数据交换到交换空间的程度的参数。默认值为 60,意味着当内存使用率达到 60% 时,系统会开始把一些数据写入交换空间。可以通过修改 swappiness 的值来调整系统的交换行为,从而影响 buff/cache 内存占用。 例如,将 swappiness 的值设置为较低的 10,则系统会更倾向于保留内存中的缓存数据,从而减少交换行为,降低 buff/cache 内存占用。 3. 增加物理内存 如果系统中物理内存不足,buff/cache 内存占用就会相对较高。可以通过增加物理内存来减少 buff/cache 内存占用,从而提高系统的性能。 需要注意的是,增加物理内存并不是万能的解决办法,可能存在其他因素导致的 buff/cache 内存占用过高问题。在调整系统参数和增加物理内存之前,需要仔细分析系统的性能瓶颈和内存使用情况,找出问题的根本原因。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值