AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / Perguntas / 102156
Accepted
ToC
ToC
Asked: 2015-05-22 06:19:18 +0800 CST2015-05-22 06:19:18 +0800 CST 2015-05-22 06:19:18 +0800 CST

No Sql Server, qual é a diferença entre VAS e Buffer Pool?

  • 772

Meu entendimento:

No Servidor SQL,

  • Buffer Pool é onde todos os Data/Proc/Log Cache , etc estão localizados.
  • Espaço de endereço virtual é um local lógico que se refere a locais físicos (na RAM ou no arquivo de paginação).

Mas esta afirmação é confusa para mim:

"..A alocação de MultiPage ocorre na área VAS e a alocação de página única vem do Buffer Pool..."

Qual é a diferença entre Buffer Pool e VAS?

sql-server buffer-pool
  • 1 1 respostas
  • 4287 Views

1 respostas

  • Voted
  1. Best Answer
    Shanky
    2015-05-22T06:47:17+08:002015-05-22T06:47:17+08:00

    Nenhum buffer pool e VAS não são a mesma coisa. No SQL Server, o acesso direto à memória física não é permitido, nenhuma solicitação de memória que vem é primeiro mapeada para processar VAS e, em seguida, se o SQL Server encontrar memória livre, ele mapeará esse endereço VAS para a memória física e, em seguida, a memória será confirmada.

    Bufferpool é memória física VAS é memória virtual.

    EVA

    VAS é a quantidade total de espaço de endereço virtual visível para processar. O VAS total no sistema operacional Windows é dividido em VAS para processo de sistema operacional e VAS para aplicativo. O SQL Server é executado como um aplicativo. Para um sistema de 64 bits, o VAS total é de 16 TB. Portanto, agora o servidor SQL e o processo do Windows obtêm VAS de 8 TB.

    Sempre que um novo processo quiser ler dados ou gravar dados na memória, ele fará referência à memória em sua região VAS para que o novo processo veja o VAS de 8 TB e, em seguida, seja mapeado para a memória física. Essa memória física seria seu buffer pool

    Conjunto de buffers

    Um buffer é uma página de 8 KB na memória, do mesmo tamanho de uma página de dados ou de índice. Você pode considerar o buffer como um quadro que contém dados e páginas de índice quando eles são trazidos do disco para a memória. O gerenciador de buffer do SQL Server gerencia a tarefa de ler as páginas de dados no buffer pool e também gravá-las no disco. É um armazenamento de memória reservado para o SQL Server e, por padrão, se você não definir um valor para ele, ocupará o máximo de memória possível. O buffer pool aloca memória apenas para solicitações que requerem menos de 8 KB de páginas, esse recurso mudou no SQl Server 2012, onde o buffer pool não tem significado, é apenas consumidor. É mais fácil alocar uma pequena quantidade contígua de memória do que uma grande quantidade contígua (grande quantidade contígua pode não estar livre ou presente para alocar).

    sistema de 32 bits

    No sistema de 32 bits, o SQL Server possui VAS de 2G. Se o sistema for WOW, ele teria VAS de 4 G. Portanto, isso se torna uma limitação para o processo que requer uma grande quantidade de memória contínua e essa memória não é satisfeita pelo buffer pool, mas fora do buffer pool.

    "..A alocação de MultiPage ocorre na área VAS e a alocação de página única vem do Buffer Pool..."

    Esta declaração é verdadeira apenas para SQL Server 2005 a 2008 R2. A alocação de página >8KB não é feita por buffer pool. O alocador que faz a alocação de página para o buffer pool é single page allocatorwhile alocador que faz a alocação para páginas de memória > 8KB multi page allocatore a memória para isso é alocada fora do buffer pool.

    Para o SQL Server 2012 existe Any page allocatoro que faz alocação para ambas as páginas <=8KB e páginas >=8KB

    • 2

relate perguntas

  • SQL Server - Como as páginas de dados são armazenadas ao usar um índice clusterizado

  • Preciso de índices separados para cada tipo de consulta ou um índice de várias colunas funcionará?

  • Quando devo usar uma restrição exclusiva em vez de um índice exclusivo?

  • Quais são as principais causas de deadlocks e podem ser evitadas?

  • Como determinar se um Índice é necessário ou necessário

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve