O Bloqueio de Páginas na Memória é uma configuração crucial para lidar com pressão de memória em um servidor Windows ao usar o SQL Server. Neste tutorial, exploraremos essa configuração e discutiremos os passos para habilitá-la ou desabilitá-la em seus servidores.
O que é o Bloqueio de Páginas na Memória?
O Bloqueio de Páginas na Memória (LPIM) é uma política do Windows que impede o sistema de paginar dados para a memória virtual no disco durante a pressão de memória. Ao bloquear os dados na memória física, o LPIM melhora o desempenho do sistema e pode ser especialmente benéfico para o SQL Server. Para utilizar esse recurso no SQL Server, você deve habilitar a configuração para suas instâncias do SQL Server. Se você estiver enfrentando degradação de desempenho ou paginação de memória em seu servidor e não tiver habilitado essa configuração, adicionar a conta de serviço do SQL Server a essa política do Windows pode ajudar a reduzir erros, como o erro 17890, no arquivo de log de erros do SQL Server.
Verificando a Configuração do Bloqueio de Páginas na Memória
Existem várias maneiras de verificar se o Bloqueio de Páginas na Memória está habilitado para sua instância do SQL Server em um servidor Windows. Aqui estão quatro métodos diferentes:
Método 1: Usando T-SQL
Você pode executar a seguinte instrução T-SQL para verificar a configuração do Bloqueio de Páginas na Memória:
SELECT a.memory_node_id, node_state_desc, a.locked_page_allocations_kb FROM sys.dm_os_memory_nodes a INNER JOIN sys.dm_os_nodes b ON a.memory_node_id = b.memory_node_id
Se a saída de “locked_page_allocations_kb” for 0, significa que a configuração está desabilitada para o SQL Server.
Método 2: Verificando o Log de Erros do SQL Server
Você pode examinar o arquivo de log de erros do SQL Server para determinar se o Bloqueio de Páginas na Memória está habilitado. Se o log mostrar que o SQL Server está “usando memória convencional no gerenciador de memória”, isso indica que a configuração não está habilitada.
Método 3: Visualizando a Política do Windows Bloqueio de Páginas na Memória
Você pode inspecionar a janela de propriedades da política do Windows Bloqueio de Páginas na Memória. Se nenhuma conta for adicionada, significa que a configuração não está habilitada. Idealmente, a conta de serviço do SQL Server deve ser adicionada a essa política se o Bloqueio de Páginas na Memória estiver habilitado.
Método 4: Usando o DMV sys.dm_os_sys_info
O DMV sys.dm_os_sys_info fornece informações sobre a configuração do modelo de memória do SQL Server, que inclui detalhes sobre o Bloqueio de Páginas na Memória. Execute o seguinte comando para obter a saída do modelo de memória:
SELECT sql_memory_model, sql_memory_model_desc FROM sys.dm_os_sys_info
Se a saída mostrar um valor de 1 para “sql_memory_model”, significa que o modelo de memória sendo usado é convencional e não Bloqueio de Páginas na Memória.
Habilitando ou Desabilitando a Configuração do Bloqueio de Páginas na Memória
Se o Bloqueio de Páginas na Memória não estiver habilitado para sua instância do SQL Server em um servidor Windows, você pode seguir estas etapas para habilitá-lo:
- Certifique-se de ter privilégios de administrador do sistema e obtenha os detalhes da conta de serviço do SQL Server no SQL Server Configuration Manager.
- Vá para o menu Iniciar no servidor Windows, clique em Executar, digite “gpedit.msc” e pressione Enter para abrir a janela de política de grupo local do Windows.
- Na janela de política de grupo local, expanda o nó Configuração do Computador, em seguida, expanda Configurações do Windows e expanda ainda mais Configurações de Segurança. Clique na pasta Políticas Locais.
- Dentro da pasta Políticas Locais, localize e clique duas vezes na política “Bloquear páginas na memória”.
- Na janela de propriedades da política, clique na guia “Configuração de Segurança Local” e, em seguida, clique em “Adicionar Usuário ou Grupo” para adicionar a conta de serviço do SQL Server.
- Na caixa de diálogo “Selecionar Usuários, Contas de Serviço ou Grupos”, selecione a conta de serviço do SQL Server e clique em OK.
- Após adicionar a conta, ela será exibida na guia “Configuração de Segurança Local”. Clique em Aplicar e OK para salvar e fechar a janela.
- Reinicie o serviço do SQL Server para que as alterações tenham efeito. Você pode fazer isso por meio do SQL Server Configuration Manager.
O Bloqueio de Páginas na Memória deve estar habilitado agora após reiniciar o serviço do SQL Server.
Validando a Habilitação do Bloqueio de Páginas na Memória
Para validar se o Bloqueio de Páginas na Memória está habilitado, você pode repetir as etapas anteriores e verificar o seguinte:
- O script T-SQL agora deve mostrar um valor de memória para alocação de página bloqueada.
- O log de erros do SQL Server deve exibir “Usando páginas bloqueadas no gerenciador de memória”.
- O valor “sql_memory_model” no DMV sys.dm_os_sys_info deve ser 2, indicando “LOCK_PAGES”.
Ao seguir essas etapas, você pode garantir que o Bloqueio de Páginas na Memória esteja corretamente habilitado para sua instância do SQL Server, o que pode ajudar a otimizar o desempenho do sistema e do SQL Server durante situações de pressão de memória.
Artigo Atualizado em: 2021-07-19