Oxcart Baixar
Menu

Uso de memória e CPU dos apps Docker no macOS, medido

Sem contêineres em execução, o Oxcart usou 776 MiB no nosso Mac de teste: no mesmo nível dos 792 MiB do OrbStack e menos da metade dos 1.745 MiB do Docker Desktop. Monitorar contêineres também consome menos: um fluxo de docker stats consumiu no Oxcart 1,3% de um núcleo, contra 3,8% no OrbStack e 5,5% no Docker Desktop.

Atualizado

O que medimos e como

Os três apps rodaram no mesmo Mac: um Apple M5 Max com 36 GiB de memória e macOS 27.2. Cada um foi configurado com 8 CPUs e 12 GiB, iniciado do zero com seu próprio comando e executado sozinho, com os demais encerrados e a ausência de seus processos verificada. Os valores em repouso vêm de uma janela de 60 segundos após 45 segundos de estabilização, contando todos os processos do produto: o app, seus auxiliares e o mecanismo com seu sistema Linux. Os valores dos contêineres são medianas de cinco amostras após um aquecimento; diferenças de até 10% contam como empate.

O Oxcart 0.1.2 foi medido em 2026-10-10 com seu cliente docker 29.9 incluído. O OrbStack 2.2.3 e o Docker Desktop 4.94.0 foram medidos mais cedo no mesmo dia, no mesmo Mac e com o mesmo sistema de medição, usando docker 29.4. Cada produto executa seu próprio kernel Linux. É uma rodada por produto em uma máquina, não um estudo; o método é igual para todos.

Memória em repouso sem contêineres

Memória do app, dos auxiliares e do mecanismo sem contêineres em execução
AppMemória em repouso
Oxcart 0.1.2776 MiB
OrbStack 2.2.3792 MiB
Docker Desktop 4.94.01.745 MiB

Essa é a memória que um app de contêineres consome só por estar pronto: entre sessões de trabalho, durante reuniões ou em um notebook onde fica aberto o dia todo. Oxcart e OrbStack estão no mesmo nível; o Docker Desktop retém mais que o dobro.

O custo de monitorar seus contêineres

Painéis, monitores de terminal e agentes de programação consultam as estatísticas dos contêineres constantemente, por isso o custo de leitura importa mais do que parece.

Custo e latência de docker stats, 20 contêineres
MedidaOxcartOrbStackDocker Desktop
CPU de um cliente de docker stats em fluxo contínuo1,29%3,81%5,45%
docker stats --no-stream1.038 ms2.050 ms2.054 ms

CPU como porcentagem de um núcleo. Oxcart 0.1.2 medido em 2026-10-10 com seu cliente docker 29.9 incluído; OrbStack 2.2.3 e Docker Desktop 4.94.0 medidos mais cedo no mesmo dia, no mesmo Mac, com o mesmo sistema de medição e docker 29.4.

O item do Oxcart na barra de menus, com 20 contêineres em execução, consome 0,0004% de um núcleo e causa 0,033 despertares por segundo. Esse valor considera apenas o app, não o mecanismo.

Sob carga: empate

Quando os contêineres fazem trabalho de verdade, os apps se aproximam, porque o trabalho em si predomina. Duas linhas da mesma rodada:

Custo adicional sob carga fixa (menor é melhor; todos dentro de 10%)
MedidaOxcartOrbStackDocker Desktop
CPU do Mac por segundo de CPU dentro do contêiner1,10×1,11×1,09×
Memória do Mac por contêiner que acessa 256 MiB235 MiB266 MiB236 MiB

Na prática: uma compilação ou um teste limitado pela CPU consome aproximadamente a mesma CPU do Mac nos três apps, e um contêiner que usa 256 MiB consome cerca disso no seu Mac. O que muda é tudo ao redor do trabalho: quanto demora cada docker run, stop e limpeza, onde o Oxcart leva vantagem (vs. Docker Desktop, vs. OrbStack).

Ao terminar: a memória volta ao macOS

Desde o Oxcart 0.1.3, cerca de 30 s após seu último contêiner parar, o Oxcart reinicia seu ambiente Linux e a memória volta ao macOS: 570 MiB, antes 3.319 MiB, 32 s após o último contêiner parar (segunda rodada: de 3.352 para 579 MiB). Isso só acontece quando nenhum contêiner está em execução. Ocorre em segundo plano: um comando Docker que chegue durante o reinício apenas espera sua conclusão.

Medido no Oxcart 0.1.3.

Meça a memória de um app de contêineres no seu Mac

  1. Comece com o Mac sem atividade. Encerre os outros apps de contêineres, pare seus contêineres e espere um minuto após iniciar o app para que as tarefas de inicialização terminem.
  2. Encontre todos os processos do app. No Monitor de Atividade, abra a aba Memória e procure o nome do app; o processo que executa o ambiente Linux costuma ser o maior. No terminal, ps -axo pid,rss,comm | grep -i <app> lista os processos.
  3. Leia a memória contabilizada pelo macOS. Use a coluna Memória no Monitor de Atividade, ou footprint <pid> para cada processo, e some os valores. Só o tamanho residente (RSS) pode superestimar ou subestimar a memória compartilhada e comprimida.
  4. Meça com sua carga em execução. Inicie sua stack Compose habitual, use-a por alguns minutos e leia os mesmos valores novamente. docker stats --no-stream mostra o que cada contêiner usa dentro do ambiente Linux.
  5. Meça depois de parar. Pare tudo e leia os valores mais uma vez, um minuto depois. Essa é a memória que o app mantém em repouso entre sessões de trabalho.

Configurações que importam

  • Limites do app. Cada app limita as CPUs e a memória que seu ambiente Linux pode usar. No Oxcart: Settings › Resources, ou oxcart config set cpus=6 e oxcart config get; os valores valem a partir da próxima inicialização. Um limite muito acima do que sua stack precisa não traz vantagem.
  • Limites por contêiner. --memory, --cpus e --pids-limit no docker run, ou mem_limit, cpus e pids_limit no Compose, impedem que um serviço descontrolado tome todos os recursos.
  • Pare o que não estiver usando. docker compose stop para stacks às quais você voltará; docker compose down para as demais. No Oxcart, parar o último contêiner também permite devolver a memória ao macOS.
  • Monitore com baixo custo. Prefira docker stats --no-stream nos scripts e dê aos agentes de programação uma ferramenta de resumo em vez de estatísticas brutas (Docker para agentes de programação com IA).

Perguntas

Quanta memória o Docker usa em um Mac?

Depende do app e do trabalho dos seus contêineres. Sem contêineres em execução, em um Mac com Apple silicon configurado com 12 GiB, medimos 776 MiB para Oxcart, 792 MiB para OrbStack e 1.745 MiB para Docker Desktop, contando todos os processos de cada produto. Quando os contêineres rodam, a memória acompanha as cargas de trabalho.

Por que o Docker Desktop usa tanta memória?

Todo app de contêineres no Mac executa um sistema Linux, e a memória acessada pelas cargas de trabalho aparece como um grande processo no Mac. Na nossa medição, o Docker Desktop também teve o maior consumo em repouso dos três: 1.745 MiB sem contêineres. Reduza o limite de memória nas configurações, pare os contêineres desnecessários e compare uma alternativa como o Oxcart, que usou 776 MiB em repouso no mesmo Mac.

O Oxcart devolve memória ao macOS?

Sim, assim que nada estiver rodando. Desde o Oxcart 0.1.3, cerca de 30 s após seu último contêiner parar, o Oxcart reinicia seu ambiente Linux e a memória volta ao macOS: 570 MiB, antes 3.319 MiB, 32 s após o último contêiner parar, em uma medição com uma versão anterior ao lançamento. Isso só acontece quando nenhum contêiner está em execução.

Como limito a memória e a CPU de um contêiner?

Por contêiner: docker run --memory 512m --cpus 1.5 …, ou mem_limit e cpus em um serviço Compose. O Oxcart aplica atualizações de memória, CPU e limite de processos com docker update, e elas persistem mesmo quando um reinício recria o contêiner.

Como defino quantas CPUs e quanta memória o Oxcart pode usar?

Em Settings › Resources, ou no terminal com oxcart config set cpus=4 e oxcart config get para ver os valores efetivos e os limites do seu Mac. Os novos valores valem a partir da próxima inicialização.

docker stats deixa meu Mac lento?

Um fluxo de docker stats consome CPU em todos os apps. Medimos 1,3% de um núcleo para Oxcart, 3,8% para OrbStack e 5,5% para Docker Desktop; o Oxcart teve o menor valor. Uma consulta de docker stats --no-stream para 20 contêineres levou 1,0 s no Oxcart, cerca de metade do tempo dos outros dois.

Fontes e método

  • Oxcart 0.1.2, OrbStack 2.2.3 e Docker Desktop 4.94.0, medidos em 2026-10-10 no mesmo Mac (Apple M5 Max, 36 GiB, macOS 27.2), com 8 CPUs e 12 GiB cada, um produto por vez.
  • Memória devolvida após o último contêiner parar: Oxcart 0.1.3.
  • Custo da barra de menus: medido no Oxcart em 2026-10-09.

Experimente Oxcart nos seus projetos

Grátis por 60 dias. Depois, $20 por usuário, por versão principal: sem assinatura.

Apple silicon · macOS 26 ou posterior

Leia a seguir

Notas da versão

Oxcart 0.1.4

Versão mais recente

Licenciamento e melhorias.

  • Ativação da licença por link seguro enviado por e-mail.
  • Gerenciamento de licenças e Macs a partir de Settings.
  • Verificação de licenças offline.
  • Melhorias de desempenho, ajustes na interface e correções de bugs.

Requer macOS 26.0 ou posterior

Oxcart 0.1.3

Liberação de memória durante a inatividade.

  • Libera a memória da VM quando nenhum contêiner está em execução.
  • Preserva contêineres, imagens, volumes e redes.

Requer macOS 26.0 ou posterior

Oxcart 0.1.2

Integração de ferramentas de linha de comando.

  • Alterne entre as ferramentas Docker incluídas no Oxcart e uma instalação existente.
  • Ajustes na interface.

Requer macOS 26.0 ou posterior

Oxcart 0.1.1

Ferramentas Docker incluídas e controles para agentes.

  • Docker CLI 29.9, Compose 5.6 e Buildx 0.38 incluídos.
  • Integração com contextos Docker e credenciais protegidas no Acesso às Chaves.
  • Conexões de agentes via MCP com permissões e bloqueio por agente.

Requer macOS 26.0 ou posterior

Oxcart 0.1.0

Contêineres compatíveis com Docker para Apple silicon.

  • Compatibilidade com Docker CLI, Compose e Buildx.
  • Configuração offline com os componentes de execução incluídos.
  • Portas organizadas por projeto e branch do Git.
  • Integração MCP com acesso somente leitura por padrão.
  • Atualizações automáticas verificadas.

Requer macOS 26.0 ou posterior