共计 4565 个字符,预计需要花费 12 分钟才能阅读完成。
自动写代码机器人,免费开通
这篇文章主要介绍 LINUX 如何查看真正 PGA 占用的内存大小,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
也不知道起什么题目好,PGA 的内存是进程私有内存,如何查看进程真正占有的操作系统内存,是不是依据 v$process.PGA_ALLOC_MEM 就可以,还是还需要通过其他手段。
select PGA_ALLOC_MEM/1024/1024 MEM from v$process ORDER BY MEM ;
MEM
----------
2.20257282
... ... 此处略去 30 来行(都是 2 开头的)2.95257282
3.07757282
... ... 此处略去 20 来行(都是 3 开头的)3.97667408
4.01507282
... ... 此处略去好几行(都是 4 开头的)4.95257282
6.54008961
7.26507282
8.66359425
11.0775728
19.5396471
21.5529451
21.9125109
22.0546846
22.4279451
22.4279451
22.4279451
22.4279451
22.9915972
46.3040972
75.9259233
可以看到从 ORACLE 提供的 v$process 去统计,每个进程占用的 PGA 内存大小一般也就 3M。
可是进程真正占用的操作系统内存不仅仅如此。
ps aux | grep oraclecrmd | grep -v grep
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
oracle 415 0.1 0.0 152056 31896 ? Ss Sep22 4:21 oraclecrmd1 (LOCAL=NO)
oracle 417 0.1 0.0 152048 31932 ? Ss Sep22 5:43 oraclecrmd1 (LOCAL=NO)
... 略... 此处略去好几十行
oracle 15258 0.1 0.0 152040 31720 ? Ss Sep23 3:32 oraclecrmd1 (LOCAL=NO)
oracle 15423 0.0 0.0 154100 31688 ? Ss Sep23 3:59 oraclecrmd1 (LOCAL=NO)
RSS 列为真正的进程占用内存大小,可以看到每个 ORACLE 进程都差不多占用了 30M 的操作系统内存。
还可以通过 /proc/process_id 下的 status 来查看
admin@crmd-rac1:/home/admin cd /proc/31493
admin@crmd-rac1:/proc/31493 cat status
Name: oracle
State: S (sleeping)
SleepAVG: 98%
Tgid: 31493
Pid: 31493
PPid: 1
TracerPid: 0
Uid: 501 501 501 501
Gid: 501 501 501 501
FDSize: 64
Groups: 501 502
VmPeak: 23591404 kB
VmSize: 151020 kB
VmLck: 0 kB
VmHWM: 38340 kB
VmRSS: 29236 kB
VmData: 2476 kB
VmStk: 200 kB
VmExe: 100616 kB
VmLib: 16156 kB
VmPTE: 308 kB
StaBrk: 0e750000 kB
Brk: 0e80d000 kB
StaStk: 7fff4a3b7ab0 kB
Threads: 1
SigQ: 0/399360
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000006005207
SigCgt: 00000001c9802cf8
CapInh: 0000000000000000
CapPrm: 0000000000000000
CapEff: 0000000000000000
Cpus_allowed: 00000000,00000000,00000000,00000000,00000000,00000000,00000000,ffffffff
Mems_allowed: 00000000,00000003
VmRSS: 29236 kB,就是进程占用的操作系统内存大小。当然通过 TOP 命令来看也是最方便的。Tasks: 526 total, 1 running, 525 sleeping, 0 stopped, 0 zombie
Cpu(s): 3.8%us, 0.5%sy, 0.0%ni, 95.4%id, 0.1%wa, 0.0%hi, 0.2%si, 0.0%st
Mem: 49448636k total, 31725736k used, 17722900k free, 825208k buffers
Swap: 20482864k total, 289672k used, 20193192k free, 1430524k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
17954 oracle 18 0 22.5g 34m 24m D 15.5 0.1 8:49.84 oracle
415 oracle 15 0 22.5g 31m 24m S 0.0 0.1 4:21.48 oracle
417 oracle 15 0 22.5g 31m 25m S 0.0 0.1 5:43.78 oracle
419 oracle 15 0 22.5g 33m 25m S 0.0 0.1 5:19.47 oracle
456 oracle 15 0 22.5g 29m 23m S 0.0 0.1 6:42.85 oracle
582 oracle 15 0 22.5g 31m 24m S 0.0 0.1 4:48.01 oracle
584 oracle 15 0 22.5g 29m 23m S 0.0 0.1 4:26.69 oracle
586 oracle 15 0 22.5g 28m 22m S 0.0 0.1 5:39.92 oracle
692 oracle 15 0 22.5g 34m 28m S 0.0 0.1 6:40.93 oracle
694 oracle 15 0 22.5g 31m 24m S 0.0 0.1 5:42.40 oracle
1392 oracle 15 0 22.5g 31m 24m S 0.0 0.1 4:51.74 oracle
1508 oracle 15 0 22.5g 26m 21m S 0.0 0.1 4:07.42 oracle
1997 oracle 15 0 22.5g 17m 13m S 0.0 0.0 0:00.03 oracle
2000 oracle 15 0 22.5g 30m 24m S 0.0 0.1 3:22.19 oracle
2609 oracle 15 0 22.5g 16m 12m S 0.0 0.0 74:30.50 oracle
2611 oracle 15 0 22.5g 18m 13m S 0.0 0.0 0:00.99 oracle
2613 oracle 15 0 22.5g 15m 11m S 0.0 0.0 0:10.73 oracle
2615 oracle 15 0 22.5g 22m 15m S 0.0 0.0 37:54.79 oracle
2619 oracle 15 0 22.5g 31m 17m S 0.0 0.1 48:27.98 oracle
2621 oracle -2 0 22.5g 32m 17m S 0.0 0.1 356:03.42 oracle
2625 oracle -2 0 22.5g 32m 17m S 0.0 0.1 355:49.97 oracle
2629 oracle -2 0 22.5g 32m 17m S 0.0 0.1 352:42.52 oracle
2633 oracle -2 0 22.5g 32m 17m S 0.0 0.1 356:19.10 oracle
2637 oracle 15 0 22.5g 15m 11m S 0.0 0.0 0:05.06 oracle
2639 oracle 16 0 22.5g 43m 32m S 0.0 0.1 183:11.05 oracle
2641 oracle 16 0 22.5g 40m 32m S 0.0 0.1 179:37.22 oracle
2643 oracle 15 0 22.5g 32m 28m S 0.0 0.1 1139:53 oracle
2645 oracle 15 0 22.5g 32m 22m S 0.0 0.1 20:43.16 oracle
2647 oracle 15 0 22.5g 30m 24m S 0.0 0.1 7:30.23 oracle
2649 oracle 15 0 22.5g 20m 16m S 0.0 0.0 0:00.12 oracle
2651 oracle 15 0 22.5g 27m 21m S 0.0 0.1 1:57.78 oracle
2653 oracle 15 0 22.5g 35m 28m S 0.0 0.1 1:54.48 oracle
2655 oracle 15 0 22.5g 19m 16m S 0.0 0.0 13:57.91 oracle
2994 oracle 15 0 22.5g 32m 26m S 0.0 0.1 3:29.14 oracle
3001 oracle 15 0 22.5g 29m 23m S 0.0 0.1 2:57.37 oracle
3360 oracle 15 0 22.5g 20m 13m S 0.0 0.0 26:39.06 oracle
3375 oracle 15 0 22.5g 20m 16m S 0.0 0.0 0:02.00 oracle
3616 oracle 15 0 22.5g 29m 23m S 0.0 0.1 3:34.69 oracle
RES 列为进程占用的操作系统内存大小,基本在 30M 左右。
我们平时为 ORACLE 分配内存除了考虑 ORACLE 自身占用的内存外,还要考虑进程本身占用的操作系统内存。
以上是“LINUX 如何查看真正 PGA 占用的内存大小”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注丸趣 TV 行业资讯频道!
向 AI 问一下细节
丸趣 TV 网 – 提供最优质的资源集合!
正文完