Skip to content
dionarleyPublic

About

Teste de estouro de memória (OOM) em Python usando Docker Compose

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

8 Commits

Folders and files

Repository files navigation

Teste de OOM (Out of Memory)

Projeto demonstrativo de estouro de memória (OOM) em um contêiner Docker com Python.

A origem do "rabbit": o projeto originalmente se chamava teste-rabbit-oom. A referência a coelho vem de um meme visto no Instagram, de um mágico tirando coelhos infinitos da cartola, contrastado com um código em loop ao lado — o coelho infinito da cartola é a metáfora do loop infinito de alocação de memória. Não há nenhuma relação com RabbitMQ.

O script oom.py aloca 20 MB de memória a cada ciclo, imprimindo no log a memória alocada até o momento, até que o limite do contêiner seja atingido e o processo seja encerrado pelo kernel.

Imagem do projeto

Imagem do projeto - mágico e os coelhos infinitos da cartola

Estrutura

.
├── assets/            # Imagem do projeto
├── Dockerfile         # Imagem com Python 3.11
├── docker-compose.yml # Serviço com limite de 256 MB
├── oom.py             # Script que aloca memória em loop
└── commands.txt       # Comandos úteis

Como executar

Build da imagem

sudo docker build -t oom-test-image .

Rodar com limite de memória

sudo docker run --name oom-test --memory="256m" --memory-swap="256m" oom-test-image

Com Docker Compose

sudo docker compose up --build

Saída esperada

O contêiner começa a alocar memória e imprime o uso atual a cada ciclo, até estourar o limite:

=== INICIANDO O TESTE DE ESTOURO DE MEMÓRIA (OOM) ===
[0] Alocando 20 MB...
    --> Memória alocada até agora: ~20 MB
[1] Alocando 20 MB...
    --> Memória alocada até agora: ~40 MB
...

Licença

Licenciado sob a MIT License.

About

Teste de estouro de memória (OOM) em Python usando Docker Compose

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages