为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8
【操作系统】:麒麟海光
【CPU】:
【问题描述】*:
###查询使用swap对应的进程号
[root@db-dmdb01 ~]# for i in cd /proc;ls |grep "^[0-9]"|awk ' $0 >100'
;do awk '/Swap:/{a=a+$2}END{print '"$i"',a/1024"M"}' /proc/$i/smaps ;done 2>&1 |sort -k2nr |head
1776721 17612.7M
1908723 7730.18M
4010370 6108.88M
[root@db-dmdb01 ~]# timed out waiting for input: auto-logout
##查询对应进程的实例
[viewer@db-dmdb01 ~]$ ps -ef|grep 1776721
dbismp 1776721 1 0 2023 ? 1-04:41:19 /crbank/ismp/app/dmdbms/bin/dmserver path=/crbank/ismp/data/ismp/dm.ini -noconsole mount
viewer 3331229 3238945 0 15:20 pts/0 00:00:00 grep 1776721
[viewer@db-dmdb01 ~]$ ps -ef|grep 1908723
dboivs 1908723 1 1 2023 ? 2-12:26:26 /crbank/oivs/app/dmdbms/bin/dmserver path=/crbank/oivs/data/oivs/dm.ini -noconsole mount
viewer 3331280 3238945 0 15:21 pts/0 00:00:00 grep 1908723
[viewer@db-dmdb01 ~]$ ps -ef|grep 4010370
viewer 3331296 3238945 0 15:21 pts/0 00:00:00 grep 4010370
dbbfd 4010370 1 43 2023 ? 89-00:02:15 /crbank/bfd/app/dmdbms/bin/dmserver path=/crbank/bfd/data/bfd/dm.ini -noconsole mount
[viewer@db-dmdb01 ~]$
swap使用前3的进程为对应数据库进程
###free 查看剩余物理内存1G
[root@db-dmdb01 ~]# free -g
total used free shared buff/cache available
Mem: 250 62 1 0 187 181
Swap: 31 31 0
tdb中3个实例向系统申请的内存大小为127G
1908723 dboivs 20 0 39.5g 13.7g 14220 S 2.3 5.5 3626:53 dmserver
1776721 dbismp 20 0 37.4g 4.1g 17580 S 1.0 1.7 1721:25 dmserver
4010370 dbbfd 20 0 49.4g 40.4g 15548 S 0.7 16.1 128163:12 dmserver
实例使用大小
select
(select sum(n_pages * page_size)/1024/1024 from v$bufferpool)|| 'MB' as BUFFER_SIZE,
( select sum(total_size)/1024/1024 from v$mem_pool)||'MB' as mem_pool,
(select sum(n_pages * page_size)/1024/1024 from v$bufferpool)+(select sum(total_size)/1024/1024 from v$mem_pool)||'MB' as TOTAL_SIZE
From dual;
BUFFER_SIZE MEM_POOL TOTAL_SIZE
30007MB 6768MB 36775MB
##目前疑问
数据库申请内存不从available 177G 内存中申请。却使用到swap的空间来申请内存
内存调度这块是操作系统来控制的,内存够用的情况下建议关闭swap分区