为什么我的oracleoracle 11g 占用内存存特别高

16150人阅读
Oracle(3)
&在默认安装情况下,oracle的内存分配是按系统内存的大小比例分配的,内存比较大的情况下,oracle所占的内存也大,该情况下,我们一般要修改sga值来减少系统中oracle的内存过大问题。
用dba身份进入oracle,笔者在plsql中对数据库进行管理:
--显示内存分配情况
alter system set sga_max_size=200m scope=spfile;
--修改占用内存的大小
注:在PL/SQL中 在command window中的Editor模式下使用以上命令
&&相关文章推荐
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:175269次
积分:2322
积分:2322
排名:第14808名
原创:72篇
转载:30篇
评论:23条
(1)(8)(2)(1)(1)(2)(1)(1)(2)(3)(8)(3)(4)(2)(17)(9)(4)(5)(7)(1)(3)(1)(5)(4)(5)(3)微信公众号:centoscn
Oracle通过设置大内存页解决使用swap分区问题
在一个新闻网站的后台数据库的监控过程中,经常出现数据库开始使用交换分区的情况,并进而导致整个应用系统响应非常缓慢,不能够提供服务。该服务器的内存为8G,SGA设置为4G,PGA设置为1G。操作系统为64位。按照道理,即使内存发生不够的情况,应该是磁盘读写变得更加激烈,而不是开始频繁的使用swap交换分区,沿着这个思路,寻找相关资料,发现如果配置大内存页可以强行把SGA锁定到内存中,大内存页是不允许被交换的。而同时相关资料也说明,在内存比较大的情况下,当系统内存为8G以上时,如果不采用大内存页(2M),那么管理这些内存所需要的内存也会急剧增加。对于系统可以使用命令cat /proc/meminf查看PageTables项,由于没有采用大内存页管理而额外产生的内存消耗。具体操作步骤:1、查看系统内存cat /proc/meminfo | grep MemTotalMemTotal: & & &8177384 kB2、查看SGA和PGASQL&NAME & & & & & & & & & & & & & & & & TYPE & & & &VALUE------------------------------------ ----------- ------------------------------lock_sga & & & & & & & & & & & & & & boolean & & TRUEpre_page_sga & & & & & & & & & & & & boolean & & FALSEsga_max_size & & & & & & & & & & & & big integer 4Gsga_target & & & & & & & & & & & & & big integer 4GSQL&NAME & & & & & & & & & & & & & & & & TYPE & & & &VALUE------------------------------------ ----------- ------------------------------pga_aggregate_target & & & & & & & & big integer 1G4、查看没有使用大内存页时的情况more /proc/meminfo |grep -i HugePageHugePages_Total: 0HugePages_Free: &0HugePages_Rsvd: &0Hugepagesize: & &05、配置HugePages Pool大小vi /etc/sysctl.conf在最后添加如下的行vm.nr_hugepages = 2300 & & #(这个值应大于或等于 SGA/2m,即 4*1024m/2m)6、配置oracle用户最大线程数、文件句柄和最大能锁定的内存vi /etc/security/limits.conf在最后添加如下的行 & & & oracle &soft & &nproc & 2047 & & & oracle &hard & &nproc & 16384 & & & oracle &soft & &nofile &1024 & & & oracle &hard & &nofile &65536 & & & oracle &soft & &memlock 5194304 & & & & &#(这里是以KB为单位,一般大于等于SGA) & & & oracle &hard & &memlock 51943047、使配置生效sysctl -p 8、重启系统及启动oracle实例,下面是我们使用大内存页后的结果,看到因为管理内存页而额外需要的内存(PageTables)为55Mcat /proc/meminfoMemTotal: & & &8177384 kBMemFree: & & & &950472 kBBuffers: & & & & 16824 kBCached: & & & &1365136 kBSwapCached: & & 170652 kBActive: & & & &1274416 kBInactive: & & &1082156 kBHighTotal: & & & & & 0 kBHighFree: & & & & & &0 kBLowTotal: & & &8177384 kBLowFree: & & & &950472 kBSwapTotal: & & kBSwapFree: & &
kBDirty: & & & & & & 148 kBWriteback: & & & & & 0 kBAnonPages: & & &982112 kBMapped: & & & & &52944 kBSlab: & & & & & &64568 kBPageTables: & & &55580 kBNFS_Unstable: & & & &0 kBBounce: & & & & & & &0 kBCommitLimit: & kBCommitted_AS: &2584964 kBVmallocTotal:
kBVmallocUsed: & &267584 kBVmallocChunk:
kBHugePages_Total: &2300HugePages_Free: & &264HugePages_Rsvd: & & 13Hugepagesize: & & 2048 kB & & &如上由于我们的系统数据库SGA为4G,因此配置了2300个大内存页,这样能够提供足够多的大内存页供数据库的SGA使用。配置大内存的一个另外好处是可以清楚的看到系统使用内存的情况,否则Oracle会占用buffer及cache内存,很难计算系统空余的实际内存数量。 & &从内存meminfo信息中可以看出,2300个大内存页,被使用了6个(这个过程在启动数据库的时候是动态变化的,直到SGA用满)。 & & &在配置的过程中,发现我们的系统内核还不支持大内存页,配置后看到HugePage_Total为0,说明配置无效,需要安装新的内核。大内存页的配置可以参考相关文档。 & & 当配置完成后,同时设置lock_sga为true,Oracle数据库服务器再也不发生大量使用swap分区的情况了,不再出现性能故障。
------分隔线----------------------------
CentOS对“OpenSSL Heartbleed高危安全漏洞”的修复方法,CentOS原生版,6.2/6.3; 默认...Oracle 10.2.0.4AIX 6.1内存16G目前的现象是内存占用在99.6%左右,基本上全天都这样。以前8G内存时运行还凑合,升级到16G后,系统性能更差,这是为什么啊?$ oslevel -s-0847[email=gpsrac1@root[/]svmon]gpsrac1@root[/]svmon[/email] -Put 20 |grep oracle&&...Oracle 10.2.0.4AIX 6.1内存16G目前的现象是内存占用在99.6%左右,基本上全天都这样。以前8G内存时运行还凑合,升级到16G后,系统性能更差,这是为什么啊?$ oslevel -s-0847[email=gpsrac1@root[/]svmon]gpsrac1@root[/]svmon[/email] -Put 20 |grep oracle&&315490 oracle& && && & 814972& &&&7412& && &&&0& &799371& && &Y& &&&N& &&&N&&364646 oracle& && && & 814927& &&&7412& && &&&0& &799417& && &Y& &&&N& &&&N&&311416 oracle& && && & 811403& &&&7412& && &&&0& &796627& && &Y& &&&N& &&&N&&295126 oracle& && && & 811403& &&&7412& && &&&0& &796627& && &Y& &&&N& &&&N&&332060 oracle& && && & 810858& &&&7412& && &&&0& &796084& && &Y& &&&N& &&&N&&295322 oracle& && && & 810733& &&&7412& && &&&0& &795957& && &Y& &&&N& &&&N&&856184 oracle& && && & 809539& &&&7412& && &&&0& &794758& && &Y& &&&N& &&&N&&254232 oracle& && && & 809080& &&&7412& && &&&0& &794246& && &Y& &&&N& &&&N&&327930 oracle& && && & 808737& &&&7412& && &&&0& &793933& && &Y& &&&N& &&&N&&729210 oracle& && && & 808733& &&&7412& && &&&0& &793955& && &Y& &&&N& &&&N&&754150 oracle& && && & 808466& &&&7412& && &&&0& &793688& && &Y& &&&N& &&&N&&463150 oracle& && && & 807933& &&&7412& && &&&0& &793158& && &Y& &&&N& &&&N&&434464 oracle& && && & 807931& &&&7412& && &&&0& &793155& && &Y& &&&N& &&&N&&414116 oracle& && && & 807896& &&&7412& && &&&0& &793120& && &Y& &&&N& &&&N&&389454 oracle& && && & 807668& &&&7412& && &&&0& &792892& && &Y& &&&N& &&&N&&200944 oracle& && && & 807570& &&&7412& && &&&0& &792794& && &Y& &&&N& &&&N&&344556 oracle& && && & 807542& &&&7412& && &&&0& &792768& && &Y& &&&N& &&&N&&827866 oracle& && && & 806808& &&&7412& && &&&0& &792029& && &Y& &&&N& &&&N&&790878 oracle& && && & 806550& &&&7412& && &&&0& &791774& && &Y& &&&N& &&&N&&385406 oracle& && && & 806455& &&&7412& && &&&0& &791681& && &Y& &&&N& &&&N[email=gpsrac1@root[/]ps]gpsrac1@root[/]ps[/email] gv |sort +6b -nr |head -10&&364646& && &- A& & 139:33& & 1
5&&1.0 ora_lms&&315490& && &- A& & 138:32& & 0
5&&1.0 ora_lms&&295126& && &- A& &&&1:00& & 0
5&&1.0 ora_arc&&311416& && &- A& &&&1:15& & 0
5&&1.0 ora_arc&&332060& && &- A& & 38:32& & 0
5&&1.0 ora_lgw&&295322& && &- A& &&&3:52& & 0
5&&1.0 ora_ckp&&856184& && &- A& & 847:18& &16
5&&1.0 ora_j00&&254232& && &- A& & 23:14& & 5
5&&1.0 ora_lmd&&184730& && &- A& & 13:34& & 0
5&&1.0 asm_lmd&&376872& && &- A& &&&7:11& & 0
5&&1.0 asm_lms[email=gpsrac1@root[/]vmo]gpsrac1@root[/]vmo[/email] -a& && & ams_loan_policy = n/a& &force_relalias_lite = 0& &&&kernel_heap_psize = 65536& && && & lgpg_regions = 0& && && && & lgpg_size = 0& && & low_ps_handling = 1& && && && && &maxfree = 1088& && && && && &maxperm = 3419904& && && && && & maxpin = 3169430& && && && && &maxpin% = 80& && && &memory_frames = 3932160& && && &memplace_data = 2&&memplace_mapped_file = 2memplace_shm_anonymous = 2& & memplace_shm_named = 2& && &&&memplace_stack = 2& && && &memplace_text = 2memplace_unmapped_file = 2& && && && && &minfree = 960& && && && && &minperm = 113995& && && && &&&minperm% = 3& && && && & nokilluid = 0& && && && && &npskill = 16384& && && && && &npswarn = 65536& && && && & numpsblks = 2097152& && & pinnable_frames = 3507212& &relalias_percentage = 0& && && && && &&&scrub = 0& && && && &&&v_pinshm = 0& && &vmm_default_pspa = 0& & wlm_memlimit_nonpg = 1[email=gpsrac1@root[/]gpsrac1@root[/[/email]]回答邀答的回答&
系统工程师
, 南京中铁信息工程有限公司等待高手赞同浏览292系统工程师, 南京中铁信息工程有限公司关注评论93

我要回帖

更多关于 oracle占用内存过高 的文章

 

随机推荐