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.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占用的内存大小”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!


文章标题:LINUX如何查看真正PGA占用的内存大小
网站网址:http://ybzwz.com/article/ppisse.html