ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Oracle10g V$OSSTAT 关于PHYSICAL_MEMORY_BYTES 的 Bug

Oracle10g V$OSSTAT 关于PHYSICAL_MEMORY_BYTES 的 Bug

原创 Linux操作系统 作者:myhuaer 时间:2009-04-10 15:09:15 0 删除 编辑

从我的blog转自我的space:
 
Oracle10g V$OSSTAT 关于PHYSICAL_MEMORY_BYTES 的 Bug:

所有测试环境为(Version=10.2.0.3, 64bits)
  

V$OSSTST View 给10g 用户在Oracle 中获取OS 信息提供了方便途径。但在使用过程中发现了一处Bug。先看Oracle 对 V$OSSTAT 做个解释

V$OSSTAT: displays system utilization statistics from the operating system.
          One row is returned for each system statistic.


PHYSICAL_MEMORY_BYTES
Total number of bytes of physical memory


分别在三个Platform. 做了测试如下:

AIX 5.3   

1* SELECT stat_name,value FROM V$OSSTAT where stat_name='PHYSICAL_MEMORY_BYTES'


STAT_NAME                                                      VALUE
----------------------------------- --------------------------------
PHYSICAL_MEMORY_BYTES                                 16,710,107,136

AIX Physical Memory:

$ lsattr -El sys0 -a realmem
realmem 16318464 Amount of usable physical memory in Kbytes False


16710107136/1024=16318464 Kbytes  二者一致





HP-UX 11i



SELECT stat_name,value FROM V$OSSTAT where stat_name='PHYSICAL_MEMORY_BYTES';


$ uname -a
HP-UX benqora4 B.11.11 U 9000/800 2311437608 unlimited-user license


SQL> column stat_name format a30
SQL> column value format 9999999999999
SQL> SELECT stat_name,value FROM V$OSSTAT where stat_name='PHYSICAL_MEMORY_BYTES';


STAT_NAME                               VALUE
------------------------------ --------------
PHYSICAL_MEMORY_BYTES             17177772032



HP-UX Physical Memory:



# head -l -n 1200 /var/adm/syslog/syslog.log|grep Physical|grep avail|cut -c 35-|dos2ux
   Physical: 16775168 Kbytes, lockable: 13423000 Kbytes, available: 15405824 Kbytes


SQL>select 17177772032/1024 from dual


16775168  Kbytes  二者一致


上面两个操作系统和Oracle White Paper 中说得一致。




下面我们来看看 RedHat AS4 看看如何:


RedHat AS4:


[root@itc-test9 ~]# uname -a
Linux itc-test9 2.6.9-5.ELsmp #1 SMP Wed Jan 5 19:29:47 EST 2005 x86_64 x86_64 x86_64 GNU/Linux
[root@itc-test9 ~]#


SQL> column stat_name format a30
SQL> column value format 9999999999999
SQL> SELECT stat_name,value FROM V$OSSTAT where stat_name='PHYSICAL_MEMORY_BYTES';


STAT_NAME                                                             VALUE
---------------------------------------------------------------- ----------
PHYSICAL_MEMORY_BYTES                                                 87132


RedHat AS4 Physical Memory:


[root@itc-test9 ~]# more /proc/meminfo
MemTotal:      2056000 kB
MemFree:         87132 kB
Buffers:        139580 kB
Cached:        1419252 kB


所以在 Red hat Linux 64bit,Oracle Version=10.2.0.3  上 V$OSSTAT 的Physical Memory Bytes 显示的为


系统 Free Memory XXX KBits 的数量。


从测试状况来看应该是 Oracle 10.2.0.3 在 Red hat As4 Linux上的一个Bug.




如果有人有其他 OS,不妨来验证 V$osstat Physical Memory一下是否正确。(如 Windows 和 Solaris)


在Solaris 10 ,10gr2 RAC测试 环境测试结果为:
(node1 48G,node2 32G)


SQL> SELECT stat_name, ROUND (VALUE / (1024 * 1024 * 1024), 2) "Physical Mem(G)"
  FROM gv$osstat
WHERE stat_name = 'PHYSICAL_MEMORY_BYTES';
  2    3
STAT_NAME                                                        Physical Mem(G)
---------------------------------------------------------------- ---------------
PHYSICAL_MEMORY_BYTES                                                      31.93
PHYSICAL_MEMORY_BYTES                                                      47.92

证实真是一个Bug 只在Linux 版本中出现。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/34596/viewspace-587005/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2016-09-11

  • 博文量
    211
  • 访问量
    629164