Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Leandro Monteiro Rocha

Processos Oracle consumindo muito processador

Recommended Posts

Boa tarde,

 

Tenho no meu ambiente o banco de dados 9i no servidor PowerEdge 6800 4 processador Xeon 3.66 Ghz e 10GB RAM, com 80 usuários se conectando nele, teoricamente deveria suportar os processos do Oracle, mas não é isso que ocorre, últimamente está ocupando 100% dos processadores, alguém tem idéia do que possa estar causando esse consumido excessivo?. A SGA anteriormente estava com 2GB, porque nós tinhamos 6GB RAM e nosso S.O trabalhava com 32bits, no entanto aumentamos para 10GB RAM e alteramos os parâmetros para o reconhecimento de 4GB na SGA, mas antes dessa alteração esse consumo excessivo já existia, até foi um dos modos para aumentarmos a SGA, mas pelo jeito esse problema persiste.

 

Obs: Abaixo segue o resultado do comando top.

 

total 91.3% 0.0% 7.5% 0.0% 0.1% 0.0% 0.8%

cpu00 91.0% 0.0% 7.9% 0.0% 0.0% 0.0% 0.9%

cpu01 89.4% 0.0% 9.1% 0.0% 0.0% 0.0% 1.3%

cpu02 92.4% 0.0% 5.7% 0.0% 0.9% 0.0% 0.7%

cpu03 95.0% 0.0% 4.3% 0.0% 0.0% 0.0% 0.5%

cpu04 88.8% 0.0% 9.7% 0.0% 0.1% 0.0% 1.1%

cpu05 88.4% 0.0% 11.3% 0.0% 0.0% 0.0% 0.1%

cpu06 92.4% 0.0% 6.7% 0.0% 0.0% 0.0% 0.7%

cpu07 93.0% 0.0% 5.5% 0.0% 0.1% 0.0% 1.1%

Mem: 10261776k av, 10123264k used, 138512k free, 0k shrd, 25776k buff

4004568k actv, 674136k in_d, 171332k in_c

Swap: 4096496k av, 225044k used, 3871452k free 6287496k cached

 

PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME CPU COMMAND

19154 oracle 25 0 2507M 2.4G 2410M R 9.3 24.9 85:30 3 oracle

30466 oracle 25 0 2423M 2.4G 2410M R 8.8 24.1 7:16 1 oracle

19804 oracle 25 0 2507M 2.4G 2410M R 8.6 24.9 89:01 5 oracle

30548 oracle 25 0 2441M 2.4G 2411M R 8.2 24.3 7:15 1 oracle

30560 oracle 25 0 2439M 2.4G 2410M R 8.1 24.3 7:03 1 oracle

18950 oracle 25 0 2441M 2.4G 2420M R 8.0 24.3 61:35 5 oracle

30484 oracle 25 0 2427M 2.4G 2411M R 8.0 24.2 10:35 4 oracle

30867 oracle 25 0 2417M 2.4G 2409M S 7.8 24.1 0:12 6 oracle

30845 oracle 25 0 2416M 2.4G 2411M R 7.5 24.1 0:34 7 oracle

30346 oracle 25 0 2438M 2.4G 2411M R 7.3 24.3 2:41 2 oracle

30807 oracle 25 0 2417M 2.4G 2409M R 7.0 24.0 1:52 6 oracle

29415 oracle 25 0 2432M 2.4G 2413M R 6.3 24.2 17:04 0 oracle

27806 oracle 15 0 2419M 2.4G 2410M S 1.1 24.1 0:41 7 oracle

30460 oracle 16 0 2454M 2.4G 2411M S 1.1 24.4 9:21 4 oracle

26913 oracle 16 0 2414M 2.4G 2410M S 0.6 24.0 1:21 2 oracle

5752 oracle 16 0 2419M 2.4G 2413M S 0.1 24.1 2:42 7 oracle

1 root 15 0 200 200 136 S 0.0 0.0 0:31 3 init

2 root RT 0 0 0 0 SW 0.0 0.0 0:00 0 migration/0

3 root RT 0 0 0 0 SW 0.0 0.0 0:00 1 migration/1

4 root RT 0 0 0 0 SW 0.0 0.0 0:00 2 migration/2

5 root RT 0 0 0 0 SW 0.0 0.0 0:00 3 migration/3

6 root RT 0 0 0 0 SW 0.0 0.0 0:00 4 migration/4

7 root RT 0 0 0 0 SW 0.0 0.0 0:00 5 migration/5

8 root RT 0 0 0 0 SW 0.0 0.0 0:00 6 migration/6

9 root RT 0 0 0 0 SW 0.0 0.0 0:00 7 migration/7

10 root 15 0 0 0 0 SW 0.0 0.0 42:24 4 keventd

11 root 34 19 0 0 0 SWN 0.0 0.0 0:00 0 ksoftirqd/0

12 root 34 19 0 0 0 SWN 0.0 0.0 0:00 1 ksoftirqd/1

13 root 34 19 0 0 0 SWN 0.0 0.0 0:00 2 ksoftirqd/2

14 root 34 19 0 0 0 SWN 0.0 0.0 0:00 3 ksoftirqd/3

15 root 34 19 0 0 0 SWN 0.0 0.0 0:00 4 ksoftirqd/4

16 root 34 19 0 0 0 SWN 0.0 0.0 0:00 5 ksoftirqd/5

17 root 34 19 0 0 0 SWN 0.0 0.0 0:00 6 ksoftirqd/6

18 root 34 19 0 0 0 SWN 0.0 0.0 0:00 7 ksoftirqd/7

21 root 15 0 0 0 0 SW 0.0 0.0 0:00 0 bdflush

19 root 15 0 0 0 0 SW 0.0 0.0 7:29 6 kswapd

20 root 15 0 0 0 0 SW 0.0 0.0 7:00 5 kscand

22 root 15 0 0 0 0 SW 0.0 0.0 0:34 3 kupdated

23 root 25 0 0 0 0 SW 0.0 0.0 0:00 1 mdrecoveryd

30 root 25 0 0 0 0 SW 0.0 0.0 0:00 7 scsi_eh_0

33 root 15 0 0 0 0 SW 0.0 0.0 0:34 1 kjournald

99 root 24 0 0 0 0 SW 0.0 0.0 0:00 7 khubd

572 root 15 0 0 0 0 SW 0.0 0.0 0:00 0 kjournald

 

 

Valeu!!!

 

Leandro

Compartilhar este post


Link para o post
Compartilhar em outros sites

As queries foram analizadas ?

As queries estão otimizadas ?

O analyze está atualizado ?

Já analizou o plano de execução de alguma query ?

O disco tem algum espelhamento ?

 

Pode ser um festival de coisas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exatamente como o Motta comentou.

 

Aumentar a memória não irá adiantar nada, pq você deve estar com QUERYS mastigando processador para conseguir realizar o Fetch, na verdade deverá analisar dezenas de coisas, exemplo:

 

1) Pegue as sessão que estão mais consumindo CPU.

 

SELECT
   s.sid                sid
 , s.serial#            serial_id
 , lpad(s.status,9)     session_status
 , lpad(s.username,12)  oracle_username
 , lpad(s.osuser,9)     os_username
 , lpad(p.spid,7)       os_pid
 , s.program            session_program
 , lpad(s.machine,14)   session_machine
 , sstat.value          cpu_value
FROM v$process p
 , v$session  s
 , v$sesstat  sstat
 , v$statname statname
WHERE p.addr              = s.paddr AND s.sid               = sstat.sid AND statname.statistic# = sstat.statistic# AND statname.name       = 'CPU used by this session'
ORDER BY cpu_value DESC;

 

2) Identifique quais são as querys, analise os planos de execução. Pode ser problemas em query mal escrito, problemas em objetos como Tabelas e índices, rebuild de índices, falta de ANALYZE na tabela e etc..

 

3) Veja se existe processos na aplicação que utiliza Parallel Server, e se nas DMLs existe o HINT PARALLEL, isso pode aumentar muito o consumo de CPU.

 

4) Uma opção é utilizar o Resource manager para os usuários, e limitar o recurso de CPU para eles, assim, não mataria tanto o banco de dados e evita "fritar" o servidor.

 

5) Analise também os principais WAIT EVENTS que está ocorrendo no banco de dados.

 

Acho que por aí, tu consegue ter uma LUZ!

 

Abraços, :lol:

Compartilhar este post


Link para o post
Compartilhar em outros sites

... QUERYS mastigando processador ...

Boa esta expressão.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.