千家信息网

LINUX如何查看真正PGA占用的内存大小

发表于:2024-10-19 作者:千家信息网编辑
千家信息网最后更新 2024年10月19日,这篇文章主要介绍LINUX如何查看真正PGA占用的内存大小,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!也不知道起什么题目好,PGA的内存是进程私有内存,如何查看进程真正占有的
千家信息网最后更新 2024年10月19日LINUX如何查看真正PGA占用的内存大小

这篇文章主要介绍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.952572823.07757282... ...此处略去20来行(都是3开头的)3.976674084.01507282... ...此处略去好几行(都是4开头的)4.952572826.540089617.265072828.6635942511.077572819.539647121.552945121.912510922.054684622.427945122.427945122.427945122.427945122.991597246.304097275.9259233

可以看到从ORACLE提供的v$process去统计,每个进程占用的PGA内存大小一般也就3M。

可是进程真正占用的操作系统内存不仅仅如此。

ps aux | grep oraclecrmd | grep -v grepUSER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMANDoracle     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/31493admin@crmd-rac1:/proc/31493>cat status Name:   oracleState:  S (sleeping)SleepAVG:       98%Tgid:   31493Pid:    31493PPid:   1TracerPid:      0Uid:    501     501     501     501Gid:    501     501     501     501FDSize: 64Groups: 501 502 VmPeak: 23591404 kBVmSize:   151020 kBVmLck:         0 kBVmHWM:     38340 kBVmRSS:     29236 kBVmData:     2476 kBVmStk:       200 kBVmExe:    100616 kBVmLib:     16156 kBVmPTE:       308 kBStaBrk: 0e750000 kBBrk:    0e80d000 kBStaStk: 7fff4a3b7ab0 kBThreads:        1SigQ:   0/399360SigPnd: 0000000000000000ShdPnd: 0000000000000000SigBlk: 0000000000000000SigIgn: 0000000006005207SigCgt: 00000001c9802cf8CapInh: 0000000000000000CapPrm: 0000000000000000CapEff: 0000000000000000Cpus_allowed:   00000000,00000000,00000000,00000000,00000000,00000000,00000000,ffffffffMems_allowed:   00000000,00000003VmRSS:     29236 kB,就是进程占用的操作系统内存大小。当然通过TOP命令来看也是最方便的。Tasks: 526 total,   1 running, 525 sleeping,   0 stopped,   0 zombieCpu(s):  3.8%us,  0.5%sy,  0.0%ni, 95.4%id,  0.1%wa,  0.0%hi,  0.2%si,  0.0%stMem:  49448636k total, 31725736k used, 17722900k free,   825208k buffersSwap: 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占用的内存大小"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

0