VIRT
não tem nada a ver com a memória usada (virtual ou não), mas com o espaço de endereço usado , que não é tão relacionado quanto você possa imaginar.
Os sistemas operacionais modernos (incluindo o OSX) têm um recurso chamado solicitação de paging , que funciona informando ao sistema operacional para mapear um determinada região do espaço de endereço virtual para um arquivo (como uma biblioteca / DLL compartilhada). É somente quando um programa tenta ler os endereços virtuais que o arquivo é carregado na memória.
Se essas bibliotecas compartilhadas forem de fato compartilhadas, o sistema operacional compartilhará a memória física em vários processos; Isso quer dizer que muitas dessas dezenas de gigabytes não são apenas bibliotecas suportadas por arquivos, mas também as bibliotecas suportadas por arquivos mesmo .
Além disso, se a memória temporária for necessária (para dados, configurações, bitmaps, sons etc.) e não houver páginas físicas não usadas, o sistema operacional descartará o conteúdo dessas regiões com backup de arquivo e as concederá. à sua aplicação. Se essas páginas forem necessárias novamente, o sistema operacional pode simplesmente recarregá-las do disco.
Trocar ( SWP
) é uma região especial suportada por arquivos para essa memória temporária. Criar um espaço de troca permitirá que o sistema operacional mova essa memória temporária para o disco em vez de bibliotecas compartilhadas (utilizadas por mais processos em execução), geralmente melhorem o desempenho e, talvez o mais surpreendente de tudo, produza menos troca do que não ter nenhum espaço de troca.