Pular para o conteúdo

Mudando a Prioridade do Processo VKTM no Oracle 11G R2

Mudando a Prioridade do Processo VKTM no Oracle 11G R2

Fala Pessoal,

Tive um problema recente com o processo VKTM em um ambiente linux(RED HAT) virtualizado.

Esse Processo tem a seguinte descrição segundo a documentação:

VKTM is responsible for providing centralized time tracking
• wall-clock time (updated every second)
• reference-time counter (updated every 20 ms)

Ele é utilizado pelo scheduler.

Porém ele tem um consumo altíssimo de CPU .

No meu ambiente ele consumia 13% de CPU

13.2 19414 oracle   ora_vktm_opscgold          RR

Dando um trace no processo verifiquei que ele chama a função gettimeofday mais de 100 vezes por segundo.

[root@orarac1 ~]# strace -p 6723

Process 6723 attached - interrupt to quit
gettimeofday({1323711237, 10495}, NULL) = 0
gettimeofday({1323711237, 10555}, NULL) = 0
nanosleep({0, 10000000}, {1323711237, 10495}) = 0
gettimeofday({1323711237, 21947}, NULL) = 0
gettimeofday({1323711237, 21999}, NULL) = 0
nanosleep({0, 10000000}, {1323711237, 21947}) = 0

Estudando mais afundo verifiquei que esse processo(VKTM) e o (LMS) são os únicos que rodam em RR (Roud Robin) alta prioridade de CPU , comentando tambem pelo kerry osborne

http://kerryosborne.oracle-guy.com/2010/03/increasing-priority-of-lgwr-process-using-_high_priority_processes/

Esse processo estava realmente prejudicando a performance do ambiente e como era um ambiente de teste no meu caso foi melhor diminuir a prioridade dele e colocalo em TS (SCHED_NORMAL) .

Para mudar a prioridade de um processo basta alterar o parâmetro não documentado.

_high_priority_processes

Então alterei meu ambiente da seguinte forma

alter system set "_high_priority_processes"='LMS*' scope=spfile;

Após isso o consumo de CPU caiu drasticamente, porém é valido ressaltar que essa mudança provavelmente ira causar problemas no scheduler e algumas outras anomalias.

Mas no meu caso, no meu ambiente foi melhor assim, já passou 2 meses e a melhora foi significativa.

Abraços !!

Hudson Santos

Hudson Santos

Hudson é DBA Oracle com grande experiência em segmentos de Telecomunicações,WEB e Baking. É Especialista em performance e em alta disponibilidade com RAC. É certifcado Oracle OCA 11G e atuou em empresas lideres dos segmentos acima tais como: Orga Systems(Germany),Mih Naspers atuando no Buscape.com,Cetip S.A,Claro Brasil. Hudson também possui experiência com outros RDBMS e tecnologias de cache e motor de busca tais como: MySQL,SQL Server,Memcached,Sphinxs.

 

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

plugins premium WordPress