国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

Oracle9i進程的內存占用問題

2024-08-29 13:46:56
字體:
來源:轉載
供稿:網友
Oracle9i進程的內存占用問題
 
 
  過去這段時間,我工作的其中之一就是在為一個電信業務系統的升級做預備,在兩臺IBM M85(6CPU*12G MEM AIX 5L)上對ORACLE9I RAC做具體的測試工作,開始的時候一切都很順利,但后來卻碰到一個難題,就是Oracle 9i的單個進程占用的內存過多。  經過一段時間測試,在先后解決了其它問題后,最后的主要問題集中到了內存上,ORACLE9i在AIX 5L上每個進程都占用了很多內存,一個空連接進程就會用到5M多的內存,而眾所周知,Oracle8i的單個進程占用的內存一般是2~3M,所以這就引起了我們的高度重視,因為假如按此計算,1000個連接什么事不做就要5G內存了!而我們的實際應用連接數比這還要多。  在出現問題之后,我先后對ORACLE進行了不同方向的調整,也問過了一些朋友以及IBM和ORACLE的技術支持, 翻遍了國內外我所知道的論壇,都沒有看到任何有意思的消息,更不要說解決方案了。這讓我開始懷疑是Oracle9i的BUG,果然在6月底Oracle公布了這個BUG(我是在7月底看到的,因為7月份的大部分時間在處理別的事)!造成這個問題是因為AIX上C的編譯器問題,使得本來可以共享的部分,最后都沒有共享,造成每個進程都浪費了大約1MB的內存。詳情參見本文最后BUG:3028673的描述。  為了驗證確實是AIX的問題,我在另外一臺HP-UX B11.11上進行了同樣的測試,結果顯示Oracle9i的單個進程仍然占用很多內存!經過分析發現這是由于兩方面原因造成的:  1、Oracle9i的初始化參數CURSOR_SPACE_FOR_TIME從默認的FALSE改成了TRUE;  2、HP-UX上的Oracle9i將虛擬內存數據頁(virtual memory data pages)的默認值從原來的D(4KB)改成了L(1GB)。  使用/usr/bin/chatr $ORACLE_HOME/bin/oracle查看oracle程序的內部屬性 ,我們發現虛擬內存的text段從原來的16M改成了64M,而DATA段從原來的64M改成了L(最大可達到1GB)。經過測試驗證 ,DATA段這個參數直接影響了Oracle9i單個進程所占用的內存的大小 。對于空連接來說,4MB是擴展的臨界點,因為空連接是擴不到16MB(4MB的下一個可設DATA段大?。?。 
    Oracle8i和Oracle9i虛擬內存默認值對比: 8i
......
shared library binding:
   deferred
global hash table disabled
shared vtable support disabled
segments:
   index type address flags size
      5 text 4000000000000000 z-r-c 16M
      6 data 8000000100000000 ---m- 64M
executable from stack: D (default)
kernel assisted branch PRediction enabled
lazy swap allocation for dynamic segments disabled9i
.........
shared library binding:
   deferred
global hash table disabled
shared vtable support disabled
segments:
   index type address flags size
      5 text 4000000000000000 z-r-c 64M
      6 data 8000000100000000 ---m- L (largest possible)
executable from stack: D (default)
kernel assisted branch prediction enabled
lazy swap allocation for dynamic segments disabled 我們可以使用/usr/bin/chatr +pd newsize $ORACLE_HOME/bin/oracle來更改DATA段的可用內存大小,對于text段的內存大小我們也可以使用chatr +pi來改,但gototop并不建議你這樣做,因為text段是給命令用的。  至此,我就在想了,自然在HP-UX上是因為這個原因造成的,那么在AIX上除了C編譯器的原因之外,是否也存在著同樣的問題呢?到目前為止,gototop還沒有的等到任何可靠的消息來證實這一點,但我猜想可能性很大。  gototop 2003年7月28日晚于辦公室附、BUG:3028673描述(摘自METALINK):Bug 號
 3028673
 
已歸檔
 27-JUN-2003
 已更新
 08-JUL-2003
 
產品
 Oracle Server - Enterprise Edition V7
 產品版本
 9.2.0.3
 
平臺
 Generic
 平臺版本
 無數據
 
數據庫版本
 9.2.0.3
 影響平臺
 Port-Specific
 
優先級
 Severe Loss of Service
 狀態
 Closed, Vendor OS Problem
 
基本 Bug
 N/A
 修復產品版本
 無數據
 

問題陳述:ORACLE ON AIX DOES NOT SHARE MANY CONST STRUCTS - PER PROCESS MEMORY OVERHEAD
--------------------------------------------------------------------------------*** 06/27/03 10:31 am ***=========================    PROBLEM:1. Clear description of the problem encountered:        Oracle on IBM AIX platforms (AIX 5L and 4.3.3) use a large amount of memory per dedicated connection. For Oracle 9.2 on AIX 5L the memory required per idle Oracle process appears to be about 5Mb. A significant portion of this is related to non-shared const structures (probably about 1Mb) .          This bug is to track the issue of the non-shared const structures.。。。。。。后面部分省略。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 惠来县| 登封市| 牙克石市| 怀宁县| 眉山市| 陆良县| 鄂温| 调兵山市| 金寨县| 奇台县| 三门县| 柘荣县| 汝南县| 蒙城县| 祥云县| 溆浦县| 常宁市| 呼伦贝尔市| 吴堡县| 毕节市| 庆云县| 革吉县| 普兰店市| 临湘市| 雷波县| 芜湖市| 临安市| 漳浦县| 汕尾市| 敦化市| 莱州市| 象山县| 嘉峪关市| 临江市| 镇坪县| 永春县| 田阳县| 尖扎县| 永善县| 广南县| 蒙城县|