☕ Um Café no Bellacosa Mainframe
Gostou do conteúdo? Ajude a manter o café quente, o COBOL compilando e o mainframe acordado. 😄
☕ Pague um café ao Bellacosa

Translate

sexta-feira, 30 de agosto de 2024

IBM Z: Por que 40% de CPU Livre NÃO Significa que Seu Sistema Está Rápido

Bellacosa Mainframe e a falsa sensalçao de rapidez no ibm z



☕ Um Café no Bellacosa Mainframe

IBM Z: Por que 40% de CPU Livre NÃO Significa que Seu Sistema Está Rápido

Um dos maiores erros dos profissionais iniciantes é olhar apenas para dois números:

CPU = 40%

Memória Livre = 120 GB

e concluir:

"O sistema está folgado."

Enquanto isso...

CICS lento

Batch atrasado

Db2 esperando I/O

Usuários reclamando

Como isso é possível?

Porque no IBM Z a CPU é apenas um dos elementos da equação.


Pense no Mainframe como uma cidade

Imagine uma metrópole.

Ela possui:

  • avenidas

  • semáforos

  • estacionamento

  • prédios

  • pessoas

  • elevadores

Não adianta construir mais prédios se:

  • o trânsito está parado;

  • os elevadores são poucos;

  • o metrô está congestionado.

O mesmo ocorre no IBM Z.

Adicionar memória muitas vezes apenas aumenta o estacionamento.

O congestionamento continua.


A Hierarquia da Memória no IBM Z

No IBM i existe o conceito de Memory Pools.

No z/OS existe uma arquitetura ainda mais rica.

Temos, por exemplo:

Central Storage

↓

Frames de 4 KB

Frames de 1 MB

Frames de 2 GB

↓

Address Spaces

↓

Private Area

Common Area

LSQA

SQA

CSA

ECSA

HVCOMMON

Extended CSA

↓

Applications

CICS

IMS

Db2

MQ

JES2

TSO

USS

Todos competem pela mesma memória física.


Nem toda memória pertence ao seu programa

Muitos imaginam:

Tenho 256 GB.

Meu COBOL pode usar tudo.

Não.

Grande parte da memória é reservada para:

  • Sistema Operacional

  • Cross Memory

  • CSA

  • Buffers

  • Coupling Facility

  • LPAR Management

  • Hiperspaces

  • Dataspaces

  • Java Heap

  • Db2 Buffer Pools

Seu programa recebe apenas uma pequena parcela.


O verdadeiro Memory Pool do z/OS

Embora o nome seja diferente, existem equivalentes.

No IBM i:

Memory Pool

No IBM Z encontramos:

  • Address Spaces

  • Region Size

  • MEMLIMIT

  • Dataspaces

  • Hiperspaces

  • Pageable Frames

  • Fixed Frames

Cada workload possui seu "território".


O que acontece quando falta memória?

Suponha um COBOL Batch.

Ele precisa acessar uma página.

Página está na RAM?

SIM

↓

executa imediatamente.


Agora imagine:

Página não está na memória.

O RSM faz:

Page Fault

↓

Localiza a página

↓

Busca no Page Dataset

↓

Move para memória

↓

Programa continua.

Isso é absolutamente normal.


Page Fault NÃO significa erro

Esse é um enorme mito.

Todo sistema gera Page Fault.

Inclusive:

  • Linux

  • Windows

  • Unix

  • z/OS

O problema é a quantidade.


Imagine:

1 milhão de referências

dessas:

999.900

na memória

↓

ótimo.

Agora imagine:

1 milhão

300.000 Page Faults

Algo está errado.


O que acontece durante um Page Fault?

Enquanto a página é buscada:

CPU

fica esperando.

Observe:

A CPU não trabalha.

Ela espera.

Então o RMF mostra:

CPU = 35%

O gerente conclui:

"Tem CPU sobrando."

Na verdade:

A CPU está parada esperando disco.

Exatamente como no IBM i

O gráfico do IBM i mostra:

CPU baixa

Usuário lento

No IBM Z acontece igual.

Pode existir:

  • alta paginação;

  • espera por disco;

  • latch contention;

  • lock contention;

  • enqueue;

  • Db2 buffer miss.

Tudo isso reduz o uso da CPU.


O verdadeiro inimigo: Waiting

O estado mais caro do sistema não é CPU alta.

É:

Waiting.

No RMF aparecem diversos tipos.

Exemplo:

I/O Wait

Dispatch Wait

Storage Wait

Lock Wait

SRB Wait

Enqueue Wait

Cross Memory Wait

A CPU continua livre.

O usuário continua esperando.


Activity Level no IBM Z

No IBM i existe:

Activity Level

No z/OS o equivalente conceitual é controlado por vários componentes:

  • WLM (Workload Manager)

  • SRM (System Resource Manager)

  • Dispatcher

  • Dispatching Priority

  • Service Classes

  • Velocity Goals

  • Importance Levels

Ou seja,

não basta existir CPU.

É necessário que o trabalho seja escolhido para executar.


Exemplo

Imagine:

LPAR

20 CPUs

CPU utilizada:

38%

Mesmo assim:

CICS lento.

Por quê?

Porque o WLM pode estar priorizando:

Db2

IMS

Batch Crítico

MQ

TCP/IP

Seu CICS recebe menos dispatch.


Buffer Pool: o Memory Pool do Db2

Outro excelente paralelo.

No IBM i:

DB Faults

No Db2:

Buffer Pool Hit Ratio

Se a página já está no Buffer Pool:

Leitura

0 I/O

Muito rápido.


Se não está:

Disco

↓

I/O

↓

Espera

↓

CPU ociosa

Novamente:

CPU baixa.

Usuário lento.


SQL ruim parece problema de memória

Um exemplo clássico.

SELECT *

FROM CLIENTES

WHERE CPF='123'

Sem índice.

O Db2 faz:

Table Space Scan

Milhões de páginas.

Buffer Pool explode.

Mais I/O.

Mais espera.

Mais paginação.

O usuário diz:

"Precisamos aumentar a memória."

Na verdade:

Era apenas um índice ausente.


CICS também sofre

Um CICS Transaction Server possui:

  • EDSA

  • CDSA

  • UDSA

  • SDSA

Além disso:

  • Program Cache

  • File Control

  • Temporary Storage

  • VSAM Buffers

Pouca memória gera:

Storage Violations

SOS (Short on Storage)

GETMAIN Failures

Fragmentação

Adicionar memória ajuda?

Às vezes.

Mas frequentemente o problema é:

Aplicações

↓

não liberam storage.


Batch

Outro exemplo.

Job COBOL.

REGION=0M

Não significa:

memória infinita.

Pode haver:

  • Virtual Storage Constraint

  • MEMLIMIT inadequado

  • Excesso de SORT

  • Buffers gigantes

  • LE Heap mal configurado


O erro clássico

O gerente pergunta:

CPU?

Resposta:

40%

Pergunta:

Memória?
250 GB livres.

Conclusão:

Sistema saudável.

Especialista IBM Z responde:

Mostre primeiro:

  • RMF Monitor III

  • SMF 70

  • SMF 72

  • RMF CPU Activity

  • Paging Rates

  • DASD Response Time

  • WLM Delay Analysis

  • Db2 Accounting Trace

  • CICS Statistics

  • Buffer Pool Hit Ratio

  • Coupling Facility Delays

  • Cache Misses

  • Channel Utilization

Só depois falaremos sobre CPU.


Ferramentas equivalentes ao IBM i

IBM iIBM Z
WRKSYSSTSRMF Monitor III
WRKACTJOBSDSF DA / OMEGAMON
WRKSHRPOOLRSM / RMF Storage Reports
Collection ServicesSMF + RMF
Navigator for iIBM Z Performance and Capacity Analytics (zPCA), OMEGAMON, IBM Z IntelliMagic Vision

Exemplo real de diagnóstico

Imagine uma LPAR:

8 CPs

2 zIIPs

512 GB RAM

CPU = 42%

Usuários reclamam de lentidão no CICS.

A investigação revela:

  1. CPU não está saturada.

  2. WLM mostra atraso por prioridade de serviço.

  3. O Db2 apresenta baixa taxa de acertos no Buffer Pool BP8K0.

  4. O tempo de resposta do DASD aumentou.

  5. A aplicação executa SQL sem índices adequados, provocando tablespace scans frequentes.

  6. O CICS permanece aguardando I/O em vez de consumir CPU.

Resultado: adicionar mais 128 GB de memória não resolveria o problema. O ganho real veio da criação de índices apropriados, do ajuste do Buffer Pool, da revisão da política do WLM e da otimização do acesso ao armazenamento.


A grande lição para quem trabalha com IBM Z

No mundo IBM Z, desempenho raramente é explicado por um único gráfico de CPU ou pela quantidade de memória instalada. O sistema é um ecossistema onde WLM decide quem executa, o RSM administra a memória, o Db2 gerencia seus Buffer Pools, o CICS controla suas áreas de armazenamento e o subsistema de I/O determina a velocidade com que os dados chegam ao processador.

Um analista júnior costuma perguntar:

"Quanto de CPU e memória temos?"

Um especialista em performance pergunta:

  • Quem está esperando?

  • O que está esperando?

  • Por que está esperando?

  • A espera é por CPU, armazenamento, bloqueio, paginação, I/O ou prioridade do WLM?

  • Existe contenção entre workloads?

  • O gargalo é da infraestrutura ou do desenho da aplicação?

Essa mudança de perspectiva é o que diferencia um operador de um engenheiro de performance.

No IBM Z, o recurso mais valioso não é CPU nem memória. É eliminar esperas desnecessárias. Um sistema eficiente não é o que tem mais hardware, mas o que mantém seus workloads em execução contínua, com o mínimo possível de espera por qualquer recurso.

 

☕ Gostou deste café?
Siga o Bellacosa Mainframe e acompanhe os próximos artigos.
SEGUIR O BLOG

Sem comentários:

Enviar um comentário

De Fã para Fã. Conteúdo não oficial produzido como homenagem, comentário, análise ou paródia. Personagens, marcas e obras eventualmente mencionados pertencem aos seus respectivos titulares.
Vagner Renato Bellacosa, IBM Champion e especialista em IBM Mainframe
IBM Z17 SYSTEM ONLINE
Sobre o autor

Vagner Renato Bellacosa

IBM Champion 2026 • Especialista em IBM Mainframe

Vagner Renato Bellacosa trabalha com IBM Mainframe desde 1988 , é IBM Champion e especialista em COBOL, CICS, Db2, z/OS e IBM Z. Compartilha experiências profissionais, conhecimento técnico, história da computação e práticas do universo mainframe para aproximar novas gerações das tecnologias que sustentam empresas, bancos e governos ao redor do mundo.

IBM Champion IBM Z COBOL CICS Db2 z/OS Mainframe desde 1988
GitHub LinkedIn
Inicializando conteúdo...