linux数据库服务器,装的是oracle10,这几天硬盘闪个不停,用top命令如现内存消耗很严重,重启服务器后好了,一天又是这样了,请问这是什么原因?以下是top命令执行显示结果:top - 11:04:13 up 1 day, 17:56,  2 users,  load average: 5.70, 5.75, 5.68
Tasks: 256 total,   6 running, 249 sleeping,   0 stopped,   1 zombie
Cpu(s): 49.3%us,  5.3%sy,  0.0%ni, 36.7%id,  8.7%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   3107504k total,  2979476k used,   128028k free,     3228k buffers
Swap:  4192924k total,    26408k used,  4166516k free,  2418700k cached  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND            
10425 oracle    15   0  684m 514m 509m R   78 17.0 114:09.48 oracle             
 4126 oracle    15   0  692m 523m 515m R   76 17.2 936:59.82 oracle             
10188 oracle    15   0  693m 512m 507m R   75 16.9 788:37.90 oracle             
 8170 oracle    15   0  681m 501m 494m S   75 16.5 795:52.13 oracle             
 3789 oracle    15   0  711m 543m 537m R   74 17.9 795:39.99 oracle             
 5933 oracle    15   0  697m 528m 508m S   12 17.4 117:24.03 oracle             
 8297 oracle    15   0  679m 507m 503m R   11 16.7 127:08.03 oracle             
 3791 oracle    16   0  697m 526m 506m D   11 17.4 116:05.44 oracle             
 3719 root      15   0 39740  16m 6788 S    5  0.5   1:56.49 Xorg               
15404 root      15   0 80568  16m  10m S    4  0.5   0:04.87 gnome-terminal     
 3599 oracle    25   0  786m 107m  11m S    3  3.6  38:11.21 java               
16065 oracle    17   0  676m  56m  53m S    3  1.9   0:03.74 oracle             
 7240 oracle    16   0  676m 466m 463m S    2 15.4   1:06.12 oracle             
16461 oracle    15   0  676m  56m  54m S    1  1.9   0:00.16 oracle             
 8914 oracle    15   0  681m 104m  96m S    1  3.4  19:41.16 oracle  

解决方案 »

  1.   

    1.硬件上可以考虑增加CPU和内存;
    2.软件上楼主可以专门看一些Oracle性能优化方面的资料了。
      

  2.   

    不用管, 是正常的,
    Linux默认最大化使用内存, 与windows需要多少使用多少不同只要你的数据库够快就行了
      

  3.   

    楼主好像写过不少PB的代码,
    我以前也写过, 现在都快忘了唉, 这些年PB的职位越来越少了
      

  4.   

    to lpc19598188: 可是硬盘灯闪个没停,看起来很不稳心啊!而且在服务器上操作的速度也感觉比较慢。
    以前不是这样的,就是这几天才出现这种情况。
      

  5.   


    哦, 那服务器这几天做了什么改动吗?
    硬盘排序多不多?你定位一下代价最大的那几个sql,看下执行计划是不是改变了不合适了?
      

  6.   

    好像是程序出问题了,好多oracle用户执行的进程占用的内存都是700M,oracle的后台进程不可能占用这么多的内存
    看看你的show parameter pga,都运行了什么程序?有大的全表扫描?trace一下看看