Artigo
· 23 hr atrás 4min de leitura

Controlando o IRISTEMP: Pare de Deixar Que Ele Ocupe Todo o Seu Armazenamento!

Introdução: Quando o IRISTEMP Armazena Dados Demais

Então, você verificou seu servidor e viu que o IRISTEMP está crescendo demais. Não precisa entrar em pânico. Vamos investigar o problema antes que seu armazenamento acabe.

Passo 1: Confirmar o Problema de Crescimento do IRISTEMP

Antes de assumir que o IRISTEMP é o problema, vamos verificar seu tamanho real.

Verificar o Espaço Livre

Execute o seguinte comando no terminal IRIS:

%SYS>do ^%FREECNT

Quando solicitado, digite:

Database directory to show free space for (*=All)? /<your_iris_directory>/mgr/iristemp/

Se a saída mostrar muito pouco espaço livre, o IRISTEMP está enchendo seu armazenamento como um armário superlotado. Mas se o espaço livre estiver bom, mas o arquivo de banco de dados IRISTEMP (IRIS.DAT) ainda for enorme (que é provavelmente por isso que você está aqui), significa que os dados temporários já foram limpos. Nesse caso, sua missão é ficar de olho nas coisas, seguir os passos abaixo para pegá-lo em flagrante na próxima vez e recuperar esse espaço precioso.

Passo 2: Identificar o que está usando o IRISTEMP

Execute ^%GSIZE para encontrar Globais Grandes

%SYS>do ^%GSIZE

Siga as instruções:

Directory name: /<your_iris_dir>/mgr/iristemp/

All Globals? No => yes

33 items selected from
33 available globals

1) Get exact packing details
2) Get block counts only
3) Use fast stochastic estimate

Please select an option:  3 => 3

Exemplo de saída:

        Global              Blocks          Bytes Used Packing
      ----------- ---------------- ------------------- -------
      IRIS.Temp.Ensemble
                                1                  60      1 %
      IRIS.Temp.MARIO
                               50             360,960     88 %
      IRIS.Temp.RecompileInfo
                                1                  84      1 %

Se você vir algo desconhecido, especialmente relacionado a ISC ou SQL, pode ser que consultas SQL estejam usando muito espaço. Verifique com os desenvolvedores do aplicativo para ver o que essas consultas estão fazendo e se elas podem ser otimizadas. Às vezes, adicionar um índice ou remover uma cláusula ORDER BY desnecessária pode fazer uma grande diferença.

Passo 3: Verificar Globais Privadas de Processo (PPGs)

Globais Privadas de Processo (PPGs) podem não ser liberadas corretamente por alguns processos. Execute:

%SYS>DO ^GETPPGINFO

Exemplo de saída:

%SYS> DO ^GETPPGINFO("*")
Process ID: 303 --> Total PPG Block count 10840
  ^||%t uses 10838 blocks (maxblock #1926355)
  ^||TempQuery uses 2 blocks (maxblock #115489)
  Highest block #: 1926355
Process ID: 33456 --> Total PPG Block count 45343
  ^||MARIOtest uses 45343 blocks (maxblock #1927313)
  Highest block #: 1927313

Se um processo estiver usando muito espaço de PPG, ele pode estar travado ou não funcionando como esperado. Você deve investigar com os desenvolvedores do aplicativo para verificar se os PPGs são conhecidos e se há algo quebrado no código. Da mesma forma, se o PPG não for conhecido e parecer código interno da InterSystems (por exemplo, ^||%t), é melhor você abrir um caso de suporte WRC pedindo ajuda.

Torne-se um especialista em GETPPGINFO lendo a documentação oficial.

Passo 4: Corrigir o Problema

Opção 1: Parar o Processo

Uma vez que você identificou o processo consumindo o IRISTEMP, se você sabe o que ele está fazendo e considera seguro, você pode usar o Portal de Gerenciamento do Sistema ou o terminal para pará-lo. Do terminal, você pode encontrar o trabalho e terminá-lo:

%SYS>do ^JOBEXAM

Encontre o número do trabalho e execute:

%SYS>DO ^RESJOB
 
Force a process to quit InterSystems IRIS
 
Process ID (? for status report): 7732

Process ID (? for status report):
 
%SYS>

⚠️ Pare um processo apenas se você o conhecer e tiver certeza de que é seguro fazê-lo!

Opção 2: Reiniciar o IRISTEMP e Definir Limites

Para limpar o IRISTEMP, pare o Iris, remova seu arquivo IRIS.DAT e reinicie:

iris stop <instance_name>
rm /<iris_directory>/mgr/iristemp/IRIS.DAT
iris start <instance_name>

Para impedir que ele cresça demais, defina um limite na sua configuração do IRIS:

[Startup]
MaxIRISTempSizeAtStart=5000

Consulte a documentação oficial sobre MaxIRISTempSizeAtStart para obter mais detalhes. Além disso, há outros artigos com mais detalhes na comunidade: Como Reduzir o IRISTEMP

Opção 3: Versão antiga? Atualize!

Se você estiver executando uma versão antiga do Iris, atualize! Por exemplo, lembro-me de termos corrigido um bug na versão 2021.1.1+ onde o IrisTemp podia crescer descontroladamente. Atualizar e estar nas versões de manutenção mais recentes é a melhor maneira de evitar bugs conhecidos.

Conclusão: Mantenha o IRISTEMP Sob Controle

Seguindo estes passos, você pode:
✅ Encontrar o que está usando o IRISTEMP com ^%GSIZE e ^GETPPGINFO
✅ arar processos conhecidos que ocupam muito espaço PPG
✅ ecuperar o espaço definindo limites ou recriando o banco de dados IrisTemp.

Atualizar! Isto é sempre recomendado!

Ao fazer isto, você pode manter o IRISTEMP sob controle e evitar problemas de armazenamento. 🚀

Discussão (0)1
Entre ou crie uma conta para continuar