[20260101]oracle连接占用内存疑问2.txt

来源:这里教程网 时间:2026-03-03 23:03:28 作者:

[20260101]oracle连接占用内存疑问2.txt --//上午测试21c连接占用内存的情况,对比11g的情况如下。 1.21c下的测试: SCOTT@book01p> @ ver2 ============================== PORT_STRING                   : x86_64/Linux 2.4.xx VERSION                       : 21.0.0.0.0 BANNER                        : Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production BANNER_FULL                   : Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production Version 21.3.0.0.0 BANNER_LEGACY                 : Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production CON_ID                        : 0 PL/SQL procedure successfully completed. $ grep -i huge  /proc/meminfo AnonHugePages:     65536 kB HugePages_Total:     522 HugePages_Free:        7 HugePages_Rsvd:        7 HugePages_Surp:        0 Hugepagesize:       2048 kB --//数据库使用hugepage。 SCOTT@book01p> @ spid ============================== SID                           : 141 SERIAL#                       : 61297 PROCESS                       : 4375 SERVER                        : DEDICATED SPID                          : 4377 PID                           : 49 P_SERIAL#                     : 4 KILL_COMMAND                  : alter system kill session '141,61297' immediate; PL/SQL procedure successfully completed. # smem -tk  -P "oraclebook" -U oracle   PID User     Command                         Swap      USS      PSS      RSS  4377 oracle   oraclebook (LOCAL=NO)              0    14.2M    17.1M    45.1M -------------------------------------------------------------------------------     1 1                                           0    14.2M    17.1M    45.1M # pmap -x 4377 | grep rw--- 000000001a413000     468      28      24 rw--- oracle 000000001a488000     344     196     196 rw---   [ anon ] 000000001bc5f000     316     280     280 rw---   [ anon ] 00007ff7fc91b000      64      64      64 rw---   [ anon ] 00007ff7fc97b000      64      24      24 rw---   [ anon ] 00007ff7fcceb000     768     760     760 rw---   [ anon ] 00007ff7fcdeb000    1024    1024    1024 rw---   [ anon ] 00007ff7fceeb000     512     492     492 rw---   [ anon ] 00007ff7fcf6b000    6400    5948    5948 rw---   [ anon ] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 00007ff7fd7ae000       4       4       4 rw--- libnque.so 00007ff7fd7af000     512      24      24 rw---   [ anon ] 00007ff7fe3f7000       4       4       4 rw--- libshpkavx2.so 00007ff7fe3f8000    2564    1328    1328 rw---   [ anon ] 00007ff7fe885000       4       4       4 rw--- libnss_files-2.17.so 00007ff7fe886000      24       0       0 rw---   [ anon ] 00007ff7feaa1000       4       4       4 rw--- libgcc_s-4.8.5-20150702.so.1 00007ff7fecad000       4       4       4 rw--- libnuma.so.1 00007ff7ff068000       8       8       8 rw--- libc-2.17.so 00007ff7ff06a000      20      20      20 rw---   [ anon ] 00007ff7ff286000       4       4       4 rw--- libresolv-2.17.so 00007ff7ff287000       8       0       0 rw---   [ anon ] 00007ff7ff4a0000       4       4       4 rw--- libpthread-2.17.so 00007ff7ff4a1000      16       4       4 rw---   [ anon ] 00007ff7ff7a6000       4       4       4 rw--- libm-2.17.so 00007ff7ff9aa000       4       4       4 rw--- libdl-2.17.so 00007ff7ffe55000      12      12      12 rw--- libipc1.so 00007ff7ffe58000      16       4       4 rw---   [ anon ] 00007ff8000be000       4       4       4 rw--- libmql1.so 00007ff8000bf000      12       4       4 rw---   [ anon ] 00007ff800324000       4       4       4 rw--- libons.so 00007ff800325000       4       4       4 rw---   [ anon ] 00007ff800527000       4       4       4 rw--- libaio.so.1.0.1 00007ff800749000       4       4       4 rw--- libocrutl.so 00007ff800a64000       4       4       4 rw--- libocrb.so 00007ff800d8e000       4       4       4 rw--- libocr.so 00007ff800d8f000       4       0       0 rw---   [ anon ] 00007ff801b78000      28      28      28 rw--- libhasgen.so 00007ff801b7f000      20       8       8 rw---   [ anon ] 00007ff801db0000       4       4       4 rw--- libdbcfg.so 00007ff801ff5000       4       4       4 rw--- libclsra.so 00007ff802217000       4       4       4 rw--- liboevm.so 00007ff80241f000       4       4       4 rw--- librt-2.17.so 00007ff80266c000       4       4       4 rw--- libskjcx.so 00007ff80266d000       4       0       0 rw---   [ anon ] 00007ff802991000       4       4       4 rw--- libskgxp.so 00007ff802b93000       4       4       4 rw--- libofs.so 00007ff802beb000    1656    1552    1552 rw---   [ anon ] 00007ff802db1000       8       8       8 rw---   [ anon ] 00007ff802db4000       4       4       4 rw--- ld-2.17.so 00007ff802db5000       4       4       4 rw---   [ anon ] 00007ffe18210000     572     476     476 rw---   [ stack ] --//注意看下划线。再启动一个连接: # pmap -x 4654 | grep rw--- 000000001a413000     468      28      24 rw--- oracle 000000001a488000     344     196     196 rw---   [ anon ] 000000001aed8000     316     280     280 rw---   [ anon ] 00007f6bf0235000      64      64      64 rw---   [ anon ] 00007f6bf02e5000      64       0       0 rw---   [ anon ] 00007f6bf02f5000    1024     856     856 rw---   [ anon ] 00007f6bf03f5000     512     512     512 rw---   [ anon ] 00007f6bf0475000    6400    5952    5952 rw---   [ anon ] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 00007f6bf0cb8000       4       4       4 rw--- libnque.so 00007f6bf0cb9000     512      24      24 rw---   [ anon ] 00007f6bf1901000       4       4       4 rw--- libshpkavx2.so 00007f6bf1902000    2564    1368    1368 rw---   [ anon ] 00007f6bf1d8f000       4       4       4 rw--- libnss_files-2.17.so 00007f6bf1d90000      24       0       0 rw---   [ anon ] 00007f6bf1fab000       4       4       4 rw--- libgcc_s-4.8.5-20150702.so.1 00007f6bf21b7000       4       4       4 rw--- libnuma.so.1 00007f6bf2572000       8       8       8 rw--- libc-2.17.so 00007f6bf2574000      20      20      20 rw---   [ anon ] 00007f6bf2790000       4       4       4 rw--- libresolv-2.17.so 00007f6bf2791000       8       0       0 rw---   [ anon ] 00007f6bf29aa000       4       4       4 rw--- libpthread-2.17.so 00007f6bf29ab000      16       4       4 rw---   [ anon ] 00007f6bf2cb0000       4       4       4 rw--- libm-2.17.so 00007f6bf2eb4000       4       4       4 rw--- libdl-2.17.so 00007f6bf335f000      12      12      12 rw--- libipc1.so 00007f6bf3362000      16       4       4 rw---   [ anon ] 00007f6bf35c8000       4       4       4 rw--- libmql1.so 00007f6bf35c9000      12       4       4 rw---   [ anon ] 00007f6bf382e000       4       4       4 rw--- libons.so 00007f6bf382f000       4       4       4 rw---   [ anon ] 00007f6bf3a31000       4       4       4 rw--- libaio.so.1.0.1 00007f6bf3c53000       4       4       4 rw--- libocrutl.so 00007f6bf3f6e000       4       4       4 rw--- libocrb.so 00007f6bf4298000       4       4       4 rw--- libocr.so 00007f6bf4299000       4       0       0 rw---   [ anon ] 00007f6bf5082000      28      28      28 rw--- libhasgen.so 00007f6bf5089000      20       8       8 rw---   [ anon ] 00007f6bf52ba000       4       4       4 rw--- libdbcfg.so 00007f6bf54ff000       4       4       4 rw--- libclsra.so 00007f6bf5721000       4       4       4 rw--- liboevm.so 00007f6bf5929000       4       4       4 rw--- librt-2.17.so 00007f6bf5b76000       4       4       4 rw--- libskjcx.so 00007f6bf5b77000       4       0       0 rw---   [ anon ] 00007f6bf5e9b000       4       4       4 rw--- libskgxp.so 00007f6bf609d000       4       4       4 rw--- libofs.so 00007f6bf60f5000    1656    1548    1548 rw---   [ anon ] 00007f6bf62bb000       8       8       8 rw---   [ anon ] 00007f6bf62be000       4       4       4 rw--- ld-2.17.so 00007f6bf62bf000       4       4       4 rw---   [ anon ] 00007fffab778000     448     212     212 rw---   [ stack ] --//另外注意每个连接占用比早上测试大许多,因为一些公用的部分没有平摊。 # smem -tk  -P "oraclebook" -U oracle   PID User     Command                         Swap      USS      PSS      RSS  5660 oracle   oraclebook (LOCAL=NO)              0     9.6M    11.1M    31.3M  4654 oracle   oraclebook (LOCAL=NO)              0    11.5M    13.5M    37.9M -------------------------------------------------------------------------------     2 1                                           0    21.2M    24.6M    69.2M # diff -Nur <(pmap -x 4654 | grep rw---| head -8 ) <(pmap -x 5660 | grep rw---| head -8 ) --- /dev/fd/63  2026-01-01 16:50:55.140680347 +0800 +++ /dev/fd/62  2026-01-01 16:50:55.140680347 +0800 @@ -1,8 +1,8 @@  000000001a413000     468      28      24 rw--- oracle  000000001a488000     344     196     196 rw---   [ anon ] -000000001aed8000     316     280     280 rw---   [ anon ] -00007f6bf0235000      64      64      64 rw---   [ anon ] -00007f6bf02e5000      64       0       0 rw---   [ anon ] -00007f6bf02f5000    1024     856     856 rw---   [ anon ] -00007f6bf03f5000     512     512     512 rw---   [ anon ] -00007f6bf0475000    6400    5952    5952 rw---   [ anon ] --//地址与下面的不同!! +000000001b3d0000     316     280     280 rw---   [ anon ] +00007fa002651000     128     128     128 rw---   [ anon ] +00007fa002671000     896       0       0 rw---   [ anon ] +00007fa002751000     448     396     396 rw---   [ anon ] +00007fa0027c1000      64       0       0 rw---   [ anon ] +00007fa0027d1000    6400    5948    5948 rw---   [ anon ] --//前面的2个内存段地址相同,这样使用smem计算时会平摊,11g的情况类似。连接数越多,每个用户占用的就越少。 $ seq 150 | xargs -IQ -P 150 bash -c "sqlplus -s -l scott/book@book01p <<< 'host sleep 60'" # smem -tk  -m -P "oraclebook" -U oracle Map                                                                               PIDs   AVGPSS      PSS /SYSV00000000                                                                      150        0        0 /SYSVafa94c20                                                                      150        0        0 /[aio]                                                                               2        0        0 [vdso]                                                                             150        0        0 [vsyscall]                                                                         150        0        0 /u01/app/oracle/product/21.0.0/dbhome_1/lib/libclsra.so                            150     8.0K     1.2M /u01/app/oracle/product/21.0.0/dbhome_1/lib/libdbcfg.so                            150     8.0K     1.2M /u01/app/oracle/product/21.0.0/dbhome_1/lib/libmql1.so                             150     8.0K     1.2M /u01/app/oracle/product/21.0.0/dbhome_1/lib/libnque.so                             150     8.0K     1.2M /u01/app/oracle/product/21.0.0/dbhome_1/lib/libocr.so                              150     8.0K     1.2M /u01/app/oracle/product/21.0.0/dbhome_1/lib/libocrb.so                             150     8.0K     1.2M /u01/app/oracle/product/21.0.0/dbhome_1/lib/libocrutl.so                           150     8.0K     1.2M /u01/app/oracle/product/21.0.0/dbhome_1/lib/liboevm.so                             150     8.0K     1.2M /u01/app/oracle/product/21.0.0/dbhome_1/lib/libofs.so                              150     8.0K     1.2M /u01/app/oracle/product/21.0.0/dbhome_1/lib/libons.so                              150     8.0K     1.2M /u01/app/oracle/product/21.0.0/dbhome_1/lib/libskgxp.so                            150     8.0K     1.2M /usr/lib64/ld-2.17.so                                                              150     8.0K     1.2M /usr/lib64/libaio.so.1.0.1                                                         150     8.0K     1.2M /usr/lib64/libdl-2.17.so                                                           150     8.0K     1.2M /usr/lib64/libgcc_s-4.8.5-20150702.so.1                                            150     8.0K     1.2M /usr/lib64/libm-2.17.so                                                            150     8.0K     1.2M /usr/lib64/libnss_files-2.17.so                                                    150     8.0K     1.2M /usr/lib64/libnuma.so.1                                                            150     8.0K     1.2M /usr/lib64/libpthread-2.17.so                                                      150     8.0K     1.2M /usr/lib64/libresolv-2.17.so                                                       150     8.0K     1.2M /usr/lib64/librt-2.17.so                                                           150     8.0K     1.2M /u01/app/oracle/product/21.0.0/dbhome_1/lib/libskjcx.so                            150    12.0K     1.8M /u01/app/oracle/product/21.0.0/dbhome_1/lib/libipc1.so                             150    20.0K     2.9M /usr/lib64/libc-2.17.so                                                            150    25.0K     3.7M /u01/app/oracle/product/21.0.0/dbhome_1/bin/oracle                                 150   134.0K    19.6M /u01/app/oracle/product/21.0.0/dbhome_1/lib/libshpkavx2.so                         150   137.0K    20.1M /u01/app/oracle/product/21.0.0/dbhome_1/lib/libhasgen.so                           150   155.0K    22.7M [stack]                                                                            150   170.0K    25.0M [heap]                                                                             150   280.0K    41.0M <anonymous>                                                                        150     8.7M     1.3G --------------------------------------------------------------------------------------------------------- 35                                                                                5102     9.7M     1.4G --//注意<anonymous>那行。21c的测试达到了1.3G,平均1.3*1024/150 = 8.87。 2.11g下的测试: SCOTT@book> @ ver2 ============================== PORT_STRING                   : x86_64/Linux 2.4.xx VERSION                       : 11.2.0.4.0 BANNER                        : Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production PL/SQL procedure successfully completed. SCOTT@book> @ spid ============================== SID                           : 129 SERIAL#                       : 9 PROCESS                       : 3171 SERVER                        : DEDICATED SPID                          : 3172 PID                           : 18 P_SERIAL#                     : 4 KILL_COMMAND                  : alter system kill session '129,9' immediate; PL/SQL procedure successfully completed. # smem -tk  -P "oraclebook" -U oracle   PID User     Command                         Swap      USS      PSS      RSS  3172 oracle   oraclebook (DESCRIPTION=(LO        0     6.7M    10.0M    27.1M -------------------------------------------------------------------------------     1 1                                           0     6.7M    10.0M    27.1M # pmap -x 3172 | grep rw--- 000000000bec1000    1988     404      48 rw--- oracle 000000000c0b2000     352     188     188 rw---   [ anon ] 000000000e008000     576     476     476 rw---   [ anon ] 00007fa9e708d000      64      64      64 rw--- zero 00007fa9e709d000      64      64      64 rw--- zero 00007fa9e711d000     256       0       0 rw--- zero 00007fa9e715d000      64      64      64 rw--- zero 00007fa9e716d000      64      56      56 rw--- zero 00007fa9e717d000      64      64      64 rw--- zero 00007fa9e718d000     128     128     128 rw--- zero 00007fa9e71ad000     128     128     128 rw--- zero 00007fa9e71cd000      64      64      64 rw--- zero 00007fa9e71dd000      64      64      64 rw--- zero 00007fa9e71ed000      64      64      64 rw--- zero 00007fa9e71fd000      64      64      64 rw--- zero 00007fa9e720d000      64      64      64 rw--- zero 00007fa9e721d000      64      64      64 rw--- zero 00007fa9e722d000      64      64      64 rw--- zero 00007fa9e723d000      64      64      64 rw--- zero 00007fa9e724d000      64      64      64 rw--- zero 00007fa9e725d000      64      64      64 rw--- zero 00007fa9e726d000      64      64      64 rw--- zero 00007fa9e727d000      64      60      60 rw--- zero 00007fa9e728d000      64      64      64 rw--- zero 00007fa9e729d000      64      64      64 rw--- zero 00007fa9e72ad000      64      60      60 rw--- zero 00007fa9e72bd000      64      64      64 rw--- zero 00007fa9e72cd000      64      64      64 rw--- zero 00007fa9e72dd000      76      24      24 rw--- zero 00007fa9e72f0000      64      64      64 rw--- zero 00007fa9e7300000      64      64      64 rw--- zero 00007fa9e7310000      64      64      64 rw--- zero 00007fa9e7320000      64      64      64 rw--- zero 00007fa9e7330000      64      64      64 rw--- zero 00007fa9e7340000      64      64      64 rw--- zero 00007fa9e7350000      52       0       0 rw--- zero 00007fa9e7466000       4       4       4 rw--- libnque11.so 00007fa9e7467000       4       0       0 rw---   [ anon ] 00007fa9e7674000       4       4       4 rw--- libnss_files-2.17.so 00007fa9e7675000    2328     492     492 rw---   [ anon ] 00007fa9e7ad0000       4       4       4 rw--- libgcc_s-4.8.5-20150702.so.1 00007fa9e7cdc000       4       4       4 rw--- libnuma.so.1 00007fa9e8097000       8       8       8 rw--- libc-2.17.so 00007fa9e8099000      20      20      20 rw---   [ anon ] 00007fa9e82b4000       4       4       4 rw--- libnsl-2.17.so 00007fa9e82b5000       8       0       0 rw---   [ anon ] 00007fa9e84ce000       4       4       4 rw--- libpthread-2.17.so 00007fa9e84cf000      16       4       4 rw---   [ anon ] 00007fa9e87d4000       4       4       4 rw--- libm-2.17.so 00007fa9e89d8000       4       4       4 rw--- libdl-2.17.so 00007fa9e8bda000       4       4       4 rw--- libaio.so.1.0.1 00007fa9e8ce6000       4       4       4 rw--- libocrutl11.so 00007fa9e8e8a000       8       8       8 rw--- libocrb11.so 00007fa9e9036000      12      12      12 rw--- libocr11.so 00007fa9e913a000       4       4       4 rw--- libskgxn2.so 00007fa9e9934000     144     144     144 rw--- libhasgen11.so 00007fa9e9958000      20       4       4 rw---   [ anon ] 00007fa9e9a7e000       8       8       8 rw--- libdbcfg11.so 00007fa9e9b9a000       4       4       4 rw--- libclsra11.so 00007fa9e9f24000     264     220     220 rw--- libnnz11.so 00007fa9e9f66000       8       4       4 rw---   [ anon ] 00007fa9ea16f000       4       4       4 rw--- librt-2.17.so 00007fa9ea363000       8       8       8 rw--- libskgxp11.so 00007fa9ea4dd000      64      64      64 rw--- libcell11.so 00007fa9ea551000     568     192     192 rw---   [ anon ] 00007fa9ea5e5000     144      36      36 rw---   [ anon ] 00007fa9ea70a000       4       4       4 rw--- libodmd11.so 00007fa9ea70b000       4       4       4 rw---   [ anon ] 00007fa9ea70d000       4       4       4 rw--- ld-2.17.so 00007fa9ea70e000       4       4       4 rw---   [ anon ] 00007ffed4b55000     180     180     180 rw---   [ stack ] --//基本可以确定多出6400K的占用。 # diff -Nur <(pmap -x 4233 | grep rw---| head -6 ) <(pmap -x 3342 | grep rw---| head -6) --- /dev/fd/63  2026-01-01 16:55:59.807999499 +0800 +++ /dev/fd/62  2026-01-01 16:55:59.807999499 +0800 @@ -1,6 +1,6 @@  000000000bec1000    1988     332      48 rw--- oracle  000000000c0b2000     352     184     184 rw---   [ anon ] -000000000c46e000     576     476     476 rw---   [ anon ] -00007f048da3b000     128      32      32 rw--- zero -00007f048da5b000     896       0       0 rw--- zero -00007f048db3b000      64      24      24 rw--- zero +000000000ce9f000     576     476     476 rw---   [ anon ] +00007f423bcae000      64      24      24 rw--- zero +00007f423bcbe000     960       0       0 rw--- zero +00007f423bdae000      64      52      52 rw--- zero $ seq 150 | xargs -IQ -P 150 bash -c  "sqlplus -s -l scott/book <<< 'host sleep 60' & " # smem -tk  -m -P "oraclebook" -U oracle Map                                                                               PIDs   AVGPSS      PSS /SYSV00000000                                                                      122        0        0 /SYSV56c108b0                                                                      122        0        0 /[aio]                                                                             122        0        0 [vdso]                                                                             122        0        0 [vsyscall]                                                                         122        0        0 /u01/app/oracle/product/11.2.0.4/db_1/lib/libclsra11.so                            122     4.0K   488.0K /u01/app/oracle/product/11.2.0.4/db_1/lib/libnque11.so                             122     4.0K   488.0K /u01/app/oracle/product/11.2.0.4/db_1/lib/libocrutl11.so                           122     4.0K   488.0K /u01/app/oracle/product/11.2.0.4/db_1/lib/libodmd11.so                             122     4.0K   488.0K /u01/app/oracle/product/11.2.0.4/db_1/lib/libskgxn2.so                             122     4.0K   488.0K /u01/app/oracle/product/11.2.0.4/db_1/lib/libdbcfg11.so                            122     8.0K   976.0K /u01/app/oracle/product/11.2.0.4/db_1/lib/libocrb11.so                             122     8.0K   976.0K /u01/app/oracle/product/11.2.0.4/db_1/lib/libskgxp11.so                            122     8.0K   976.0K /usr/lib64/ld-2.17.so                                                              122     8.0K   976.0K /usr/lib64/libaio.so.1.0.1                                                         122     8.0K   976.0K /usr/lib64/libdl-2.17.so                                                           122     8.0K   976.0K /usr/lib64/libgcc_s-4.8.5-20150702.so.1                                            122     8.0K   976.0K /usr/lib64/libnsl-2.17.so                                                          122     8.0K   976.0K /usr/lib64/libnss_files-2.17.so                                                    122     8.0K   976.0K /usr/lib64/libnuma.so.1                                                            122     8.0K   976.0K /usr/lib64/libpthread-2.17.so                                                      122     8.0K   976.0K /usr/lib64/librt-2.17.so                                                           122     8.0K   976.0K /usr/lib64/libm-2.17.so                                                            122     8.0K   983.0K /u01/app/oracle/product/11.2.0.4/db_1/lib/libocr11.so                              122    12.0K     1.4M /usr/lib64/libc-2.17.so                                                            122    25.0K     3.0M /u01/app/oracle/product/11.2.0.4/db_1/lib/libcell11.so                             122    64.0K     7.6M [stack]                                                                            122    91.0K    10.9M /u01/app/oracle/product/11.2.0.4/db_1/lib/libhasgen11.so                           122   147.0K    17.5M /u01/app/oracle/product/11.2.0.4/db_1/bin/oracle                                   122   156.0K    18.6M /u01/app/oracle/product/11.2.0.4/db_1/lib/libnnz11.so                              122   221.0K    26.3M [heap]                                                                             122   476.0K    56.7M /dev/zero                                                                          122   644.0K    76.8M <anonymous>                                                                        122   936.0K   111.5M --------------------------------------------------------------------------------------------------------- 33                                                                                4026     2.8M   345.3M --//注:processes设置偏小,仅仅启动122个连接,注意看最后1行111.5M。

相关推荐