Red Hat Training

A Red Hat training course is available for RHEL 8

22.2. Visão geral da memória de um sistema

O Kernel Linux é projetado para maximizar a utilização dos recursos de memória de um sistema (RAM). Devido a estas características de projeto, e dependendo dos requisitos de memória da carga de trabalho, parte da memória do sistema está em uso dentro do kernel em nome da carga de trabalho, enquanto que uma pequena parte da memória é livre. Esta memória livre é reservada para alocações especiais do sistema, e para outros serviços de sistema de baixa ou alta prioridade. O restante da memória do sistema é dedicado à própria carga de trabalho, e dividido nas duas categorias a seguir:

File memory

As páginas adicionadas nesta categoria representam partes de arquivos em armazenamento permanente. Estas páginas, a partir do cache de páginas, podem ser mapeadas ou não mapeadas nos espaços de endereço de uma aplicação. Você pode usar aplicativos para mapear arquivos em seus espaços de endereços usando as chamadas do sistema mmap, ou para operar em arquivos através das chamadas do sistema de leitura ou gravação em buffer de E/S.

Chamadas de sistema I/O em buffer, assim como aplicações que mapeiam páginas diretamente, podem reaproveitar páginas não mapeadas. Como resultado, estas páginas são armazenadas no cache pelo kernel, especialmente quando o sistema não está executando nenhuma tarefa intensiva de memória, para evitar a reemissão de dispendiosas operações de E/S sobre o mesmo conjunto de páginas.

Anonymous memory
As páginas nesta categoria estão em uso por um processo alocado dinamicamente, ou não estão relacionadas a arquivos em armazenamento permanente. Este conjunto de páginas faz backup das estruturas de controle na memória de cada tarefa, tais como a pilha de aplicações e as áreas de pilha.

Figura 22.1. Padrões de uso de memória

Memory usage patterns