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 / 47640
Accepted
SQL Learner
SQL Learner
Asked: 2013-08-07 08:14:01 +0800 CST2013-08-07 08:14:01 +0800 CST 2013-08-07 08:14:01 +0800 CST

Memória mínima do servidor SQL Server

  • 772

usando SQL 2008 R2 com SP2 com um servidor com 64 GB de RAM. Eu defini a memória máxima do servidor para 58 GB, considerando que o SQL Server está limitado apenas a serviços relacionados ao mecanismo de banco de dados. Eu tenho uma pergunta relacionada à configuração da memória mínima do servidor

Se eu definir a memória mínima do servidor para 48 GB, isso significa

a) Se o Windows enviar uma notificação de pouca memória para o SQL - o servidor SQL cortará todo o seu pool e tentará manter o uso de memória em até 48 GB de memória?

b) Em caso de corte agressivo do conjunto de trabalho pelo Windows - isso deixaria o uso de memória do servidor SQL para 48 GB, definindo um "piso" para o uso de memória do SQL.

c) Existe alguma recomendação sobre a memória mínima do servidor?

Pesquisando na web - a internet tem muitas informações para a memória máxima do servidor, mas apenas alguns lugares que li (blog Brent Ozar para práticas recomendadas de configuração) para definir a memória mínima do servidor para 50% do total de RAM disponível no servidor.

sql-server sql-server-2008
  • 5 5 respostas
  • 23206 Views

5 respostas

  • Voted
  1. Best Answer
    Kin Shah
    2013-08-07T09:23:48+08:002013-08-07T09:23:48+08:00

    Eu sugiro que você deixe a memória do servidor MIN para DEFAULT.

    A memória mínima do servidor controla a quantidade mínima de memória física que o SQL Server tentará manter comprometida. Quando o serviço do SQL Server é iniciado, ele não adquire toda a memória configurada em Min Server Memory, mas inicia apenas com o mínimo necessário, crescendo conforme necessário. Depois que o uso da memória aumentar além da configuração Min Server Memory, o SQL Server não liberará nenhuma memória abaixo desse valor.

    Bob Dorr explica essas configurações como:

    Memória mínima do servidor

    Use a configuração de memória mínima do servidor com cuidado. Este é um piso para o SQL Server. Depois de comprometer a memória para atingir a configuração mínima de memória do servidor, o SQL Server não liberará memória abaixo da marca. Se você definir a memória máxima do servidor para 59 GB e a memória mínima do servidor para 56 GB, mas o servidor precisar reduzir o SQL Server para 53 GB, o SQL Server não ficará abaixo de 56 GB. Quando você combina esta configuração com páginas bloqueadas na memória, a memória não pode ser paginada. Isso pode levar a comportamentos indesejados de desempenho e falhas de alocação.

    Pesquisando na web - a internet tem muitas informações para memória máxima do servidor

    Isso ocorre porque essas configurações são menos ajustadas (as pessoas apenas definem como padrão); em vez disso, a memória máxima é o que geralmente é ajustado, pois é o "teto" para o buffer pool. Um bom valor para a memória máxima garantirá que o Windows e outros processos em execução no servidor tenham memória física suficiente para executar seu trabalho sem forçar o sql server a cortar .

    • 5
  2. RLF
    2013-08-07T10:03:19+08:002013-08-07T10:03:19+08:00

    Em relação às suas perguntas sobre "notificação de memória baixa" e "corte agressivo do conjunto de trabalho", o SQL Server tentará reduzir para a quantidade mínima de memória definida. Algumas coisas boas a saber:

    1. Se você tiver um problema sério que exija diminuir ou aumentar o mínimo, você pode reconfigurar a configuração (sem a necessidade de reiniciar) e ela aumentará ou diminuirá rapidamente.
    2. O uso real da memória do SQL Server, se não me falha a memória, pode ser um pouco maior do que o valor mínimo, devido a alguma sobrecarga do sistema operacional.

    Concordo que, para a maioria dos SQL Servers, 50% é provavelmente uma boa configuração mínima de memória.

    • 1
  3. lad2025
    2019-06-28T00:56:47+08:002019-06-28T00:56:47+08:00

    A partir do SQL Server 2019 CTP3.1, você pode configurar a memória MIN e MAX durante a configuração e utilizar Recommended values:

    CTP 3.1 junho de 2019 :

    Defina os valores de memória do servidor MIN e MAX na configuração

    Durante a configuração, você pode definir os valores de memória do servidor. Use os valores padrão, os valores recomendados calculados ou especifique manualmente seus próprios valores depois de escolher a opção Recomendado Opções de configuração do servidor de memória do servidor

    • 1
  4. benjarrell
    2013-08-07T08:57:15+08:002013-08-07T08:57:15+08:00

    Segundo a documentação , o SQL Server não pode liberar memória abaixo do mínimo.

    Use min server memory para garantir uma quantidade mínima de memória disponível para o buffer pool de uma instância do SQL Server. O SQL Server não alocará imediatamente a quantidade de memória especificada em min server memory na inicialização. No entanto, após o uso da memória atingir esse valor devido à carga do cliente, o SQL Server não pode liberar memória do buffer pool alocado, a menos que o valor de min server memory seja reduzido.

    Quanto às recomendações para memória mínima, 50% deve ser uma boa base, mas depende do servidor e do tipo de carga que ele possui.

    • 0
  5. Anup Shah
    2013-09-28T09:50:26+08:002013-09-28T09:50:26+08:00

    Vejo a configuração do valor mínimo apenas se soubermos que todos os dias haverá uma carga/atividade que exigirá muita memória para que, quando a atividade ocorrer, o SQL SERVER não precise solicitar mais memória todos os dias. (embora tenha que solicitar pela primeira vez).

    responda à sua pergunta: "Se o Windows enviar uma notificação de pouca memória para o SQL - o servidor SQL cortará todo o seu pool e tentará manter o uso da memória em até 48 GB de memória?"

    O servidor SQL não ficará abaixo do valor mínimo se já o tiver adquirido. (independentemente de estar em uso no momento), portanto, essa é uma indicação de que o valor MIN definido não era apropriado.

    "Em caso de corte agressivo do conjunto de trabalho pelo Windows - isso deixaria o uso de memória do servidor SQL para 48 GB, definindo um "piso" para o uso de memória do SQL?" Não tenho certeza disso. mas meu palpite é que não pode forçar o servidor SQL a realocar a memória adquirida/confirmada. até agora, não encontrei uma maneira de dizer ao sql server que libere qualquer memória não utilizada para o Windows. Eu vi o servidor parar de responder devido ao valor MAX inadequado para o servidor SQL e, em seguida, não há mais nada para o próprio servidor operar.

    "Existe alguma recomendação sobre memória mínima do servidor?" Como eu disse antes, a menos que você saiba com que frequência o servidor precisará de uma quantidade específica de memória, não é necessário definir nada mais alto que o padrão.

    • 0

relate perguntas

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

  • Quanto "Padding" coloco em meus índices?

  • Existe um processo do tipo "práticas recomendadas" para os desenvolvedores seguirem para alterações no banco de dados?

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

  • Downgrade do SQL Server 2008 para 2005

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • 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

    Conceder acesso a todas as tabelas para um usuário

    • 5 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
    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
    pedrosanta Listar os privilégios do banco de dados usando o psql 2011-08-04 11:01:21 +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