oracle.exe占用大量内存

208 阅读1分钟

问题描述

今天发现电脑内存干满了。排查了一下发现oracle竟然占用了8个G的内存,关键是新安装的oracle库一张表都没有很不对劲。

48321ae6e2d62e90a32058230145548.png

image.png

解决问题

二话不说我就百度了一下 找到了一个看着还行的方案

引起原因

oracle占用内存不会无限向上,而是预先划一片SGA和PGA,是固定的。如果是win系统默认安装,这个参数会是整机内存的40%。(好吧这个确实是偷懒了直接傻瓜式安装的)。

使用命令行查询一下对应配置

sqlplus/ as sysdba;
show parameter sga;

好家伙默认要占用接近13G
image.png

使用命令修改sga大小

alter system set sga_max_size=2000m scope=spfile;(改完后需要重启生效-我选择直接重启了电脑)
alter system set sga_target=800m scope=spfile;  

image.png

重启电脑验证一下

sga_target修改后用户进程的占用果然少了

image.png

image.png

感觉sga_max_size 修改了没生效,但是目前用户内存已经可控了就先改到这儿吧。