[20260101]Oracle连接占用内存疑问(21c).txt --//以前测试过11.2.0.4数据库打开连接什么都不做占用内存的测试,每个会话占用仅仅2.5M,而生产系统也看到平均每个会话占用5M。 1.当时的测试如下: --//在远程连接数据库,数据库版本11.2.0.4. --//补充一点,测试的数据库都使用hugepage。 $ seq 150 | xargs -i{} echo "sqlplus -s -l scott/book@book <<< 'host sleep 60' &" | bash & --//说明一下我这台客户端很旧(rh4.3) ,xargs 命令仅仅支持-i(小写),一般现在的版本使用大写-I. # smem -tk -U oracle -P "oraclebook" PID User Command Swap USS PSS RSS 61976 oracle oraclebook (LOCAL=NO) 0 2.4M 2.5M 20.5M 62054 oracle oraclebook (LOCAL=NO) 0 2.4M 2.5M 20.6M 62082 oracle oraclebook (LOCAL=NO) 0 2.4M 2.5M 20.5M 62096 oracle oraclebook (LOCAL=NO) 0 2.4M 2.5M 20.5M 62116 oracle oraclebook (LOCAL=NO) 0 2.4M 2.5M 20.6M 61882 oracle oraclebook (LOCAL=NO) 0 2.4M 2.5M 20.5M 61894 oracle oraclebook (LOCAL=NO) 0 2.4M 2.5M 20.6M 61902 oracle oraclebook (LOCAL=NO) 0 2.4M 2.5M 20.6M 61934 oracle oraclebook (LOCAL=NO) 0 2.4M 2.5M 20.6M 61988 oracle oraclebook (LOCAL=NO) 0 2.4M 2.5M 20.5M 62366 oracle oraclebook (LOCAL=NO) 0 2.4M 2.5M 20.6M 62376 oracle oraclebook (LOCAL=NO) 0 2.4M 2.5M 20.6M 62390 oracle oraclebook (LOCAL=NO) 0 2.4M 2.5M 20.7M 62424 oracle oraclebook (LOCAL=NO) 0 2.4M 2.5M 20.7M 62438 oracle oraclebook (LOCAL=NO) 0 2.4M 2.5M 20.6M 62450 oracle oraclebook (LOCAL=NO) 0 2.4M 2.5M 20.7M 62402 oracle oraclebook (LOCAL=NO) 0 2.4M 2.5M 20.7M 62412 oracle oraclebook (LOCAL=NO) 0 2.4M 2.5M 20.6M 62226 oracle oraclebook (LOCAL=NO) 0 2.4M 2.5M 20.6M 62420 oracle oraclebook (LOCAL=NO) 0 2.4M 2.5M 20.7M 62444 oracle oraclebook (LOCAL=NO) 0 2.4M 2.5M 20.7M ------------------------------------------------------------------------------- 150 1 0 364.1M 379.3M 3.0G --//可以发现每个连接消耗2.5M上下.再次说明RSS的累计没有任何意义. --//当时生产系统的情况: # smem -tk -U oracle -P "oraclexxxx1" -s pss --//注意-s pss 要小写. PID User Command Swap USS PSS RSS 29000 oracle oraclexxxx1 (DESCRIPTION=(L 0 2.1M 2.1M 18.5M 116067 oracle oraclexxxx1 (LOCAL=NO) 0 2.3M 2.3M 20.5M 9658 oracle oraclexxxx1 (LOCAL=NO) 0 2.3M 2.3M 20.5M 58779 oracle oraclexxxx1 (LOCAL=NO) 0 2.3M 2.3M 20.5M 82193 oracle oraclexxxx1 (LOCAL=NO) 0 2.3M 2.3M 20.5M 82937 oracle oraclexxxx1 (LOCAL=NO) 0 2.3M 2.3M 20.5M 83543 oracle oraclexxxx1 (LOCAL=NO) 0 2.3M 2.3M 20.5M 86108 oracle oraclexxxx1 (LOCAL=NO) 0 2.3M 2.3M 20.5M 101419 oracle oraclexxxx1 (LOCAL=NO) 0 2.3M 2.3M 20.5M 126643 oracle oraclexxxx1 (LOCAL=NO) 0 2.3M 2.3M 20.5M 128585 oracle oraclexxxx1 (LOCAL=NO) 0 2.3M 2.3M 20.5M 61510 oracle oraclexxxx1 (LOCAL=NO) 0 2.3M 2.3M 20.5M 112481 oracle oraclexxxx1 (LOCAL=NO) 0 2.4M 2.4M 21.4M 112483 oracle oraclexxxx1 (LOCAL=NO) 0 2.4M 2.4M 21.4M 97264 oracle oraclexxxx1 (LOCAL=NO) 0 2.4M 2.4M 21.4M 111967 oracle oraclexxxx1 (LOCAL=NO) 0 2.4M 2.4M 21.4M 112505 oracle oraclexxxx1 (LOCAL=NO) 0 2.4M 2.4M 21.3M 109834 oracle oraclexxxx1 (LOCAL=NO) 0 2.4M 2.4M 21.4M 109847 oracle oraclexxxx1 (LOCAL=NO) 0 2.4M 2.4M 21.4M 109851 oracle oraclexxxx1 (LOCAL=NO) 0 2.4M 2.4M 21.4M 109855 oracle oraclexxxx1 (LOCAL=NO) 0 2.4M 2.4M 21.4M 111860 oracle oraclexxxx1 (LOCAL=NO) 0 2.4M 2.4M 21.4M 111862 oracle oraclexxxx1 (LOCAL=NO) 0 2.4M 2.4M 21.4M 111965 oracle oraclexxxx1 (LOCAL=NO) 0 2.4M 2.4M 21.4M 111806 oracle oraclexxxx1 (LOCAL=NO) 0 2.4M 2.4M 21.4M 103363 oracle oraclexxxx1 (LOCAL=NO) 0 2.4M 2.4M 21.4M 101308 oracle oraclexxxx1 (LOCAL=NO) 0 2.4M 2.4M 21.4M ... 119918 oracle oraclexxxx1 (LOCAL=NO) 0 7.0M 7.1M 36.1M 682 oracle oraclexxxx1 (LOCAL=NO) 0 7.1M 7.1M 34.4M 4524 oracle oraclexxxx1 (LOCAL=NO) 0 7.1M 7.1M 37.0M 70387 oracle oraclexxxx1 (LOCAL=NO) 0 7.1M 7.2M 37.3M 33543 oracle oraclexxxx1 (LOCAL=NO) 0 7.2M 7.2M 31.8M 93193 oracle oraclexxxx1 (LOCAL=NO) 0 7.2M 7.3M 34.9M 84138 oracle oraclexxxx1 (LOCAL=NO) 0 7.3M 7.3M 32.4M 114216 oracle oraclexxxx1 (LOCAL=NO) 0 7.3M 7.3M 35.1M 107901 oracle oraclexxxx1 (LOCAL=NO) 0 7.4M 7.4M 35.6M 74966 oracle oraclexxxx1 (LOCAL=NO) 0 7.4M 7.4M 35.5M 91516 oracle oraclexxxx1 (LOCAL=NO) 0 7.6M 7.6M 35.2M 67260 oracle oraclexxxx1 (LOCAL=NO) 0 7.6M 7.7M 35.9M 20245 oracle oraclexxxx1 (LOCAL=NO) 0 7.7M 7.8M 36.2M 105204 oracle oraclexxxx1 (LOCAL=NO) 0 7.8M 7.8M 37.3M 26185 oracle oraclexxxx1 (LOCAL=NO) 0 6.1M 8.2M 43.3M 101757 oracle oraclexxxx1 (LOCAL=NO) 0 8.7M 8.9M 36.8M 76951 oracle oraclexxxx1 (LOCAL=NO) 0 8.9M 9.6M 44.9M 33285 oracle oraclexxxx1 (LOCAL=NO) 0 12.2M 12.2M 40.4M 46048 oracle oraclexxxx1 (LOCAL=NO) 0 6.4M 13.0M 48.2M 83094 oracle oraclexxxx1 (LOCAL=NO) 0 6.9M 13.4M 52.2M 20360 oracle oraclexxxx1 (LOCAL=NO) 0 36.4M 36.4M 62.1M ------------------------------------------------------------------------------- 4247 2 0 18.8G 18.8G 110.3G --//18.8*1024/4247 = 4.53M. 平均5M的估计的量还是充足的. 2.21.c的情况: $ grep -i huge /proc/meminfo AnonHugePages: 65536 kB HugePages_Total: 522 HugePages_Free: 7 HugePages_Rsvd: 7 HugePages_Surp: 0 Hugepagesize: 2048 kB --//数据库使用hugepage。 SYS@book> @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. # cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) $ cat a.sh free -k >| aa.txt seq 150 | xargs -IQ -P 150 bash -c "sqlplus -s -l scott/book@book01p <<< 'host sleep 60' &" sleep 15 free -k >>aa.txt # smem -tk -P "oraclebook" -U oracle PID User Command Swap USS PSS RSS 4995 oracle oraclebook (LOCAL=NO) 0 9.6M 9.7M 30.1M 5147 oracle oraclebook (LOCAL=NO) 0 9.6M 9.7M 31.2M 5151 oracle oraclebook (LOCAL=NO) 0 9.6M 9.7M 31.2M 4455 oracle oraclebook (LOCAL=NO) 0 9.6M 9.7M 31.3M 4467 oracle oraclebook (LOCAL=NO) 0 9.6M 9.7M 31.3M 4474 oracle oraclebook (LOCAL=NO) 0 9.6M 9.7M 31.3M 4483 oracle oraclebook (LOCAL=NO) 0 9.6M 9.7M 31.2M 4489 oracle oraclebook (LOCAL=NO) 0 9.6M 9.7M 31.2M 4503 oracle oraclebook (LOCAL=NO) 0 9.6M 9.7M 31.2M 4505 oracle oraclebook (LOCAL=NO) 0 9.6M 9.7M 31.3M 4509 oracle oraclebook (LOCAL=NO) 0 9.6M 9.7M 31.2M 4535 oracle oraclebook (LOCAL=NO) 0 9.6M 9.7M 31.2M 4544 oracle oraclebook (LOCAL=NO) 0 9.6M 9.7M 31.2M 4558 oracle oraclebook (LOCAL=NO) 0 9.6M 9.7M 31.3M 4572 oracle oraclebook (LOCAL=NO) 0 9.6M 9.7M 31.3M 4593 oracle oraclebook (LOCAL=NO) 0 9.6M 9.7M 31.2M 4598 oracle oraclebook (LOCAL=NO) 0 9.6M 9.7M 31.3M 4625 oracle oraclebook (LOCAL=NO) 0 9.6M 9.7M 31.2M 4632 oracle oraclebook (LOCAL=NO) 0 9.6M 9.7M 31.2M 4637 oracle oraclebook (LOCAL=NO) 0 9.6M 9.7M 31.2M 4651 oracle oraclebook (LOCAL=NO) 0 9.6M 9.7M 31.3M 4655 oracle oraclebook (LOCAL=NO) 0 9.6M 9.7M 31.2M 4666 oracle oraclebook (LOCAL=NO) 0 9.6M 9.7M 31.3M 4677 oracle oraclebook (LOCAL=NO) 0 9.6M 9.7M 31.2M 4691 oracle oraclebook (LOCAL=NO) 0 9.6M 9.7M 31.2M ... 5121 oracle oraclebook (LOCAL=NO) 0 9.6M 9.8M 31.2M 5134 oracle oraclebook (LOCAL=NO) 0 9.6M 9.8M 31.2M 5145 oracle oraclebook (LOCAL=NO) 0 9.6M 9.8M 31.2M 4449 oracle oraclebook (LOCAL=NO) 0 9.6M 9.8M 31.2M 5141 oracle oraclebook (LOCAL=NO) 0 9.6M 9.8M 31.3M 5156 oracle oraclebook (LOCAL=NO) 0 9.7M 9.8M 31.3M 4463 oracle oraclebook (LOCAL=NO) 0 9.7M 9.8M 31.3M 5100 oracle oraclebook (LOCAL=NO) 0 9.7M 9.8M 31.3M 5105 oracle oraclebook (LOCAL=NO) 0 9.7M 9.8M 31.3M 4697 oracle oraclebook (LOCAL=NO) 0 9.6M 9.8M 31.4M 5030 oracle oraclebook (LOCAL=NO) 0 9.6M 9.8M 31.3M 4495 oracle oraclebook (LOCAL=NO) 0 9.7M 9.8M 31.4M 5114 oracle oraclebook (LOCAL=NO) 0 9.7M 9.8M 31.4M 5112 oracle oraclebook (LOCAL=NO) 0 9.7M 9.8M 31.4M 4549 oracle oraclebook (LOCAL=NO) 0 9.7M 9.8M 31.6M ------------------------------------------------------------------------------- 150 1 0 1.4G 1.4G 4.6G --//基本什么没做,每个连接消耗9.7M. $ cat aa.txt total used free shared buff/cache available Mem: 8010488 1756800 4496352 8884 1757336 5920400 Swap: 1048572 0 1048572 total used free shared buff/cache available Mem: 8010488 4178816 2058436 8884 1773236 3483848 Swap: 1048572 0 1048572 --//(4178816-1756800)/150/1024 = 15.77M,启动1个使用连接接近16M,当然这里面包含sleep以及sqlplus。 # smem -tk -P "oraclebook|sqlplus|sleep" -U oracle PID User Command Swap USS PSS RSS 7999 oracle sleep 60 0 88.0K 88.0K 608.0K 8147 oracle sleep 60 0 88.0K 88.0K 608.0K 8384 oracle sleep 60 0 88.0K 88.0K 608.0K ... 8520 oracle sleep 60 0 92.0K 92.0K 612.0K 7777 oracle sqlplus -s -l 0 5.1M 5.2M 15.4M 7780 oracle sqlplus -s -l 0 5.1M 5.2M 15.4M 7784 oracle sqlplus -s -l 0 5.1M 5.2M 15.4M 7786 oracle sqlplus -s -l 0 5.1M 5.2M 15.4M ... 7861 oracle oraclebook (LOCAL=NO) 0 9.6M 9.8M 31.2M 7885 oracle oraclebook (LOCAL=NO) 0 9.7M 9.8M 31.2M 8045 oracle oraclebook (LOCAL=NO) 0 9.6M 9.8M 31.3M 8283 oracle oraclebook (LOCAL=NO) 0 9.6M 9.8M 31.3M 8279 oracle oraclebook (LOCAL=NO) 0 9.7M 9.8M 31.3M ------------------------------------------------------------------------------- 451 1 0 2.2G 2.2G 6.9G --// 9.8+5.2+88/1024 = 15.09,基本接近。 --//注:总计451,多了1个,完成后执行: # smem -tk -P "oraclebook|sqlplus|sleep" -U oracle PID User Command Swap USS PSS RSS 2659 oracle tmux new-session -s oracle 0 5.9M 6.1M 7.0M ------------------------------------------------------------------------------- 1 1 0 5.9M 6.1M 7.0M # ps -fp 2659 UID PID PPID C STIME TTY TIME CMD oracle 2659 1 0 10:56 ? 00:00:02 tmux new-session -s oracle -n bashsqlplus -d --//因为命令里面包含sqlplus字符串。 3.小结: --//可以看出21c,每个连接比原来多消耗将近7M。如果升级到21c,连接数量很多的话,比如4000个连接,相当于多消耗将近 --//7*4000=28000M,接近28G,这是一个非常大的量。当然现在许多服务器内存都很大,这也许是不用考虑的情况。 --//后记:使用pmap -x <spid>查看,可以发现如下: $ pmap -x 3570 | grep "rw---" | sort -k2 -nr | head -10 00007f6630e25000 6400 5952 5952 rw--- [ anon ] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 00007f66322b2000 2564 1392 1392 rw--- [ anon ] 00007f6636aa5000 1656 1560 1560 rw--- [ anon ] 00007f6630ca5000 1024 1024 1024 rw--- [ anon ] 00007f6630ba5000 1024 956 956 rw--- [ anon ] 00007ffe065f7000 644 512 512 rw--- [ stack ] 00007f6631669000 512 24 24 rw--- [ anon ] 00007f6630da5000 512 480 480 rw--- [ anon ] 000000001a413000 468 28 24 rw--- oracle 000000001a488000 344 196 196 rw--- [ anon ] --//注意看下划线,启动多个连接查看,每个地址都不一样,对比11g,相当于每个连接增加6400K。
[20260101]Oracle连接占用内存疑问(21c).txt
来源:这里教程网
时间:2026-03-03 23:03:34
作者:
编辑推荐:
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 郝志国律师:厘清罪名边界,将盗窃指控还原为职务侵占罪
郝志国律师:厘清罪名边界,将盗窃指控还原为职务侵占罪
26-03-03 - “三低一平”:国产化迁移进入降本增效新阶段
“三低一平”:国产化迁移进入降本增效新阶段
26-03-03 - 2025汤逊湖创新论坛举办 为江夏“十五五”发展聚势赋能
2025汤逊湖创新论坛举办 为江夏“十五五”发展聚势赋能
26-03-03 - Oracle 性能优化:日志暴增、Undo 告急?全局临时表来救火!
Oracle 性能优化:日志暴增、Undo 告急?全局临时表来救火!
26-03-03 - 百融云:Manus之后的又一个资本聚焦
百融云:Manus之后的又一个资本聚焦
26-03-03 - 都在吹 Oracle 26ai,有人玩过完整版吗?
都在吹 Oracle 26ai,有人玩过完整版吗?
26-03-03 - 集群与数据库软件被误执行 chown -R 后的修复处理实战
集群与数据库软件被误执行 chown -R 后的修复处理实战
26-03-03 - 赛博炒股时代来了,股票成为“千问第一问”
赛博炒股时代来了,股票成为“千问第一问”
26-03-03 - 2026年会精选!北京年会策划公司精选之选:北京飞鸟创意
2026年会精选!北京年会策划公司精选之选:北京飞鸟创意
26-03-03 - IDC 产业盛会 | 山特携高密算力创新成果亮相,多维度展示硬核实力
IDC 产业盛会 | 山特携高密算力创新成果亮相,多维度展示硬核实力
26-03-03
