ID do artigo: 918483 - Última revisão: quarta-feira, 27 de julho de 2011 - Revisão: 2.0 Como reduzir a paginação de memória de pool do buffer na versão de 64 bits de SQL Server
Nesta páginaSumárioMicrosoft SQL Server de realiza o gerenciamento de memória dinâmica com base nos requisitos de memória de atividades no sistema e a carga atual. No Windows Server 2003 ou um Windows XP ou sistema de versão posterior, o SQL Server pode usar os mecanismos de notificação de memória são fornecidos pela API do Windows QueryMemoryResourceNotification. Em um sistema baseado no Microsoft Windows 2000 Server, o SQL Server periodicamente calcula a memória física livre no sistema usando a API nativa do Windows. SQL Server com base nessas informações, a partir de API do Windows QueryMemoryResourceNotification ou o cálculo de memória, responde a situação atual de memória em um sistema específico. Isso fornece os seguintes benefícios:
SintomasEm edições de 64 bits do SQL Server, vários problemas podem ocorrer. Por exemplo, os seguintes problemas podem ocorrer:
Mensagem de erro 1 data hora parte significativa da spid1s de memória de processo do sql server sofreu page out. Isso pode resultar em degradação de desempenho. Duração: 0 segundos. Conjunto de trabalho (KB): 1086400, comprometida (KB): 2160928, utilização de memória: 50%. Mensagem de erro 2 data hora parte significativa da spid1s de memória de processo do sql server sofreu page out. Isso pode resultar em degradação de desempenho. Duração: 315 o segundos. Conjunto de trabalho (KB): 410156, comprometida (KB): 2201296, utilização de memória: 18%. Mensagem de erro 3 data hora parte significativa da spid1s de memória de processo do sql server sofreu page out. Isso pode resultar em degradação de desempenho. Duração: 646 o segundos. Conjunto de trabalho (KB): 901904, comprometida (KB): 2215752, utilização de memória: 40%. 2009-05-05 15:43:56.01 Server Resource Monitor (0x13c43) Worker 0x0412C1E8 appears to be non-yielding on Node 0. Memory freed: 34152 KB. Approx CPU Used: kernel 171 ms, user 140 ms, Interval: 125093. 2009-05-05 12:54:52.18 Server * ******************************************************************************* 2009-05-05 12:54:52.18 Server * BEGIN STACK DUMP: 2009-05-05 12:54:52.18 Server * 05/05/08 12:54:52 spid 0 2009-05-05 12:54:52.18 Server * Non-yielding Resource Monitor 2009-05-05 12:54:52.18 Server * ******************************************************************************* 2009-06-10 09:13:53.44 Server * ******************************************************************************* 2009-06-10 09:13:53.44 Server * BEGIN STACK DUMP: 2009-06-10 09:13:53.44 Server * 06/10/09 09:13:53 spid 0 2009-06-10 09:13:53.44 Server * Non-yielding IOCP Listener 2009-06-10 09:13:53.44 Server * ******************************************************************************* 2009-06-10 09:13:55.85 spid2s LazyWriter: warning, no free buffers found. 2009-07-15 13:27:45.35 spid4s AppDomain xx (SQLCLR.dbo[runtime].xx) is marked for unload due to memory pressure. 2009-07-15 13:27:45.35 spid4s AppDomain xx (SQLCLR.dbo[runtime].xx) unloaded. 2009-07-15 13:37:51.42 Logon Error: 17189, Severity: 16, State: 1. 2009-07-15 13:37:51.42 Logon SQL Server failed with error code 0xc0000000 to spawn a thread to process a new login or connection. Check the SQL Server error log and the Windows event logs for information about possible related problems. [CLIENT: xx.xxx.xx.xx] Event Type: Error Event Source: SQLBrowser Event ID: 8 Description: The SQLBrowser service was unable to process a client request. Se você perceber que uma dessas mensagens de erro ou avisos, considere a SQL Server trabalhando a paginação do conjunto que será discutida neste artigo como uma possível causa, mas não como a única. Esses avisos ou mensagens de erro adicionais podem fazer logon devido a várias condições ou causas. CausaEsse problema ocorre porque as páginas do sistema operacional Windows fora do conjunto de trabalho do processo de SQL Server. Estas mensagens de erro são registradas quando o conjunto de trabalho de um processo de SQL Server atinge 50 por cento ou menos da memória que está comprometida com o processo de SQL Server. Você pode usar essas mensagens de erro para determinar o caso em que o desempenho de SQL Server diminui significativamente porque as páginas do sistema operacional Windows fora do conjunto de trabalho do processo de SQL Server. Além disso, estas mensagens de erro são registradas a cada cinco minutos durante os primeiros 30 minutos. Depois de 30 minutos, a freqüência dessas mensagens de erro dobra até a freqüência de atinge o máximo de um dia. Quando esse problema ocorre, você poderá notar que o conjunto de trabalho de outros aplicativos no sistema é paginado também ao mesmo tempo. Para obter mais informações, visite o seguinte site da Microsoft: http://blogs.msdn.com/psssql/archive/2007/05/31/the-SQL-Server-Working-Set-Message.aspx
(http://blogs.msdn.com/psssql/archive/2007/05/31/the-sql-server-working-set-message.aspx)
Além disso, há um problema conhecido no SQL Server, no qual você pode receber uma instância desta mensagem de erro. A mensagem de erro é registrada no log de erros de SQL Server durante o processo de inicialização de SQL Server. A mensagem de erro pode ser um aviso de false. Portanto, talvez não indique que realmente ocorreu aparar do conjunto de trabalho. Para obter mais informações, visite o seguinte site da Microsoft:http://blogs.msdn.com/psssql/Archive/2009/05/12/SQL-Server-Reports-Working-Set-Trim-Warning-message-during-Early-Startup-Phase.aspx
(http://blogs.msdn.com/psssql/archive/2009/05/12/sql-server-reports-working-set-trim-warning-message-during-early-startup-phase.aspx)
Como ContornarAntes de tentar contornar esse problema, execute as etapas na seção "Como resolver esse problema" para resolver esse problema. Se você ainda enfrentar esse problema, você pode impedir que o sistema operacional Windows paginação da memória de pool de buffer do processo de SQL Server, bloqueando a memória alocada para o pool de buffer na memória física. Você bloquear a memória, atribuindo a Bloquear páginas na memória direito de usuário a conta de usuário que é usado como a conta de inicialização do serviço de SQL Server. Observação Para edições de 64 bits do SQL Server, apenas SQL Server Enterprise Edition pode usar o Bloquear páginas na memória direito de usuário. Isso é aplicável para o SQL Server 2005 [RTM, SP1, SP2, SP3] e SQL Server 2008 [RTM e SP1]. SQL Server 2008 SP1 cumulativa atualização 2 e 4 de atualização do SQL Server 2005 SP3 cumulativa introduzem suporte para edições de SQL Server padrão usar o Bloquear páginas na memória direito de usuário. Para obter mais informações sobre o suporte para páginas bloqueadas a sistemas de 64 bits, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft: 970070
(http://support.microsoft.com/kb/970070/
)
Suporte para páginas bloqueadas no SQL Server 2005 Standard Edition 64 bits de sistemas e em sistemas de SQL Server 2008 Standard Edition de 64 bits Para atribuir o Bloquear páginas na memória direito de usuário, siga estas etapas:
Você pode validar que o direito de usuário é usado pela instância do SQL Server, certificando-se de que a seguinte mensagem é gravada no Log de erros de SQL Server na inicialização: Usando páginas bloqueadas para o pool de buffer Esta mensagem só se aplica a edições de 64 bits do SQL Server.
Para obter mais informações sobre essa mensagem do log de erros, visite o seguinte site da Microsoft: http://blogs.msdn.com/psssql/archive/2007/10/18/do-i-have-to-Assign-the-Lock-Privilege-for-local-System.aspx
(http://blogs.msdn.com/psssql/archive/2007/10/18/do-i-have-to-assign-the-lock-privilege-for-local-system.aspx)
Quando as páginas do sistema operacional Windows fora da memória de pool do nonbuffer, você ainda pode encontrar problemas de desempenho. No entanto, as mensagens de erro mencionadas na seção "Sintomas" não estão conectadas no log de erros de SQL Server. Esse comportamento ocorre porque o conjunto de trabalho de um processo de SQL Server normalmente não alcança 50 por cento ou menos de memória confirmada.Mais InformaçõesComo solucionar este problema.Para solucionar esse problema, siga estas etapas:
Como determinar a memória usada por edições de 64 bits do SQL ServerVocê pode usar o Monitor de desempenho para exibir a página de memória é usado por edições de 64 bits do SQL Server. Para fazer isso, monitorar o desempenho a seguir contador:O objeto de desempenho: memória Para obter mais informações sobre como usar esse contador para determinar
a memória, clique no número abaixo para ler o artigo no
Base de dados de Conhecimento da Microsoft: Contador: Páginas/S 889654
(http://support.microsoft.com/kb/889654/
)
Como determinar o tamanho do arquivo de página apropriada para as versões de 64 bits do Windows Server 2003 ou Windows XP Além disso, você pode medir o
efeito de paginação em edições de 64 bits do SQL Server, monitorando o seguinte
contadores de desempenho: O objeto de desempenho: processo O contador Private Bytes mede a memória que está atualmente comprometida. O contador de conjunto de trabalho mede a memória física que está atualmente ocupada pelo processo. edições de 64 bits do SQL Server também usam o contador de desempenho a seguir para expor a memória que aloca do pool de buffer: Contador: Private Bytes Instância: sqlservr O objeto de desempenho: processo Contador: Conjunto de trabalho Instância: sqlservr O objeto de desempenho: o Gerenciador de memória de: SQL Server Observação Se a instância do que a edição de 64 bits do SQL Server é uma instância nomeada,
o nome do objeto de desempenho é o seguinte:Contador: Total Server (KB) MSSQL$InstanceName: Gerenciador de memória de Se o valor do contador de conjunto de trabalho for menor que o valor do contador Total (KB) de servidor, pelo menos parte da memória que é uma parte do pool de buffer foi cortada do
o SQL Server conjunto de trabalho.Após atribuir a Bloquear páginas na memória direito de usuário e você reinicia o serviço de SQL Server, o pool de buffer do processo de SQL Server ainda responde a eventos de notificação de recursos de memória e dinamicamente aumenta ou diminui em resposta a esses eventos. No entanto, você não conseguir ver as alocações de memória para o pool de buffer que estejam bloqueadas na memória em que os contadores de desempenho a seguir:
Considerações importantes antes de atribuir o usuário "Bloquear páginas na memória" ideal para uma instância de uma edição de 64 bits do SQL ServerVocê deve fazer considerações adicionais antes de atribuir o Bloquear páginas na memória direito de usuário. Se você atribuir esse direito de usuário no sistemas que estão configurados incorretamente, o sistema pode ficar instável ou enfrentar uma diminuição de desempenho de todo o sistema. Além disso, o evento ID 333 pode ser registrado no log de eventos.Se você contatar o serviço de suporte de cliente da Microsoft (CSS) para esses problemas, os engenheiros CSS podem solicitar que você revogar esse direito de usuário da conta de usuário que é usado como a conta de inicialização do serviço de SQL Server. Esta etapa pode ser necessária coletar dados de desempenho importante que os engenheiros CSS podem usar para a configuração necessária das várias opções para SQL Server e outros aplicativos que são executados no sistema. Depois que os engenheiros CSS coletam os dados de desempenho, você pode atribuir a Bloquear páginas na memória direito de usuário a conta de inicialização do serviço de SQL Server. Antes de atribuir o Bloquear páginas na memória direito de usuário, certifique-se de que você capture um log de desempenho do sistema para determinar os requisitos de memória de vários aplicativos e serviços que estão instalados no sistema. Esses aplicativos também incluem o SQL Server. Para determinar os requisitos de memória, colete as seguintes informações de linha de base:
Como usar as informações de buffers em anel SQL Server para determinar as condições de memória quando ocorre a paginaçãoVocê pode usar as informações de buffers em anel SQL Server para determinar as condições de memória no servidor quando ocorre a paginação. Você pode usar um script como, por exemplo, o script a seguir para obter essas informações.Observação Esta consulta é válida para o SQL Server 2005 e SQL Server de 2008. Você pode consultar as informações fornecidas na sys.dm_os_process_memory de modo dinâmico de gerenciamento para entender se o sistema está encontrando condições de pouca memória. Para obter mais informações, consulte a referência SQL Server 2008 Books Online no seguinte site da MSDN: http://msdn.microsoft.com/en-us/library/bb510747.aspx
(http://msdn.microsoft.com/en-us/library/bb510747.aspx)
Informações de SQL Server 2008 R2 BPAO SQL Server 2008 R2 Best Practice Analyzer (SQL Server 2008 R2 BPA) fornece várias regras para detectar situações que podem resultar na remoção do conjunto do processo de SQL Server de trabalho. O BPA do SQL Server 2008 R2 oferece suporte a SQL Server de 2008 e SQL Server 2008 R2.Se você executa a ferramenta BPA e recebe o aviso, o "Mecanismo de banco de dados - memória de SQL Server configurações estiverem incorretas," você precisa verificar a configuração de memória máxima do servidor para esta instância do SQL Server e siga as recomendações na seção de "Considerações importantes antes de atribuir o 'Bloquear páginas na memória' direito de usuário para uma instância de uma edição de 64 bits do SQL Server" deste artigo. Se você executa a ferramenta BPA e o erro ocorrer, "o mecanismo de banco de dados - operacional, drivers e arquivos de sistema precisa de atualização para o aparamento de conjunto de trabalho" é necessário analisar todas as correções discutidas na seção "Resolução" deste artigo e aplicá-las. Se você executa a ferramenta BPA e enfrentar o erro "Mecanismo de banco de dados - parte significativa do SQL Server, memória sofreu page out," você precisa revisar as seções "Resolução" e "Solução alternativa" deste artigo e tomar a ação apropriada.
|
| Software de regra | Título da regra | Identificador de regra |
| Regra BPA SQL Server 2008 R2 | As configurações de memória do SQL Server estão incorretas | RID3804 |
| Regra BPA SQL Server 2008 R2 | Drivers e arquivos de sistema operacional precisa de atualização para o aparamento de conjunto de trabalho | RID0059 |
| Regra BPA SQL Server 2008 R2 | Uma parte significativa de memória de SQL Server sofreu page out | RID0049 |
Aprimoramentos no Windows Server 2008 e no Windows Server 2008 R2
Windows Server 2008 e Windows Server 2008 R2 melhoram o mecanismo de alocação de memória contígua. Essa melhoria permite que o Windows Server 2008 e Windows Server 2008 R2 reduzir, até certo ponto, os efeitos de paginação para fora do conjunto de trabalho de aplicativos, quando chegarem a novas solicitações de memória.
Veja a seguir uma explicação dos aprimoramentos em relação o Microsoft white paper "Avança na memória gerenciamento no Windows":
No Windows Server 2008, a alocação de memória fisicamente contígua é aumentada. Solicitações para alocar a memória contígua são muito mais provável que teve êxito porque o Gerenciador de memória agora substitui dinamicamente páginas, geralmente sem aparar o conjunto de trabalho ou a realização de operações de e/S. Além disso, muitos mais tipos de páginas ? como, por exemplo, as pilhas do kernel e páginas de metadados do sistema de arquivos, entre outros ? agora são candidatos para substituição. Conseqüentemente, mais memória contígua estará disponível a qualquer momento. Além disso, o custo para obter tais alocações é bastante reduzido.
Para exibir o white paper "Avança na memória gerenciamento no Windows", visite o seguinte site da Microsoft:http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/MemMgt.docx
(http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/MemMgt.docx)
Para obter mais informações, visite os seguintes sites da Microsoft:http://blogs.msdn.com/psssql/archive/2008/03/03/SQL-Server-Working-Set-Trim-Problems-Consider.aspx
(http://blogs.msdn.com/psssql/archive/2008/03/03/sql-server-working-set-trim-problems-consider.aspx)
http://support.microsoft.com/KB/2001745
(http://support.microsoft.com/kb/2001745)
Observação Em um computador baseado no Windows Server 2008, você deve instalar o SQL Server Service Pack 2 (SP2) ou um service pack mais recente para o SQL Server.Os produtos de terceiros mencionados neste artigo são fabricados por empresas independem da Microsoft. Microsoft não oferece nenhuma garantia, implícita ou não, sobre o desempenho ou confiabilidade desses produtos.
A informação contida neste artigo aplica-se a:
- Microsoft SQL Server 2005 Standard X64 Edition
- Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
- Microsoft SQL Server 2005 Enterprise X64 Edition
- Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
- Microsoft SQL Server 2008 Standard
- Microsoft SQL Server 2008 Enterprise
Palavras-chave: | kbsqlsetup kbsql2005engine kbexpertiseadvanced kbinfo kbmt KB918483 KbMtpt |
Tradução automáticaIMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 918483
(http://support.microsoft.com/kb/918483/en-us/
)
Outros Recursos
Outros Sites de Suporte
- Soluções Microsoft Fix It
- PCTalk - Conversas com ajuda Passo a Passo
- Artigos Passo a Passo
- Office Online
- Microsoft Partner Network
- Centros de Suporte
- Ajuda e Procedimentos de Windows
Comunidades
Obtenha Ajuda Agora
Traduções deste artigo
- (????? ?????? (???????
- ?eská republika (?e?tina)
- Deutschland (Deutsch)
- España, Latinoamérica (Español)
- France (Français)
- Indonesia (Bahasa Indonesia)
- Italia (Italiano)
- Polska (Polski)
- Portugal (Português)
- Slovenská Republika (Sloven?ina)
- Türkiye (Türkçe)
- Vi?t Nam (Ti?ng Vi?t)
- ?????? (????????)
- ?????? (???????)
- ???? (?????)
- ??? (???)
- ???? (???)
- ?? (????)
- ?? (????)
- ?? (???)
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email

Voltar para o início