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 / user-52948

King Roger's questions

Martin Hope
King Roger
Asked: 2014-11-27 01:55:06 +0800 CST

O MongoDB falha com o erro SymInitialize, a menos que haja um arquivo de página muito grande no Windows

  • 1

Gostaria de saber se alguém pode ajudar com um problema de MongoDB/arquivo de página que parecemos ter à medida que nosso banco de dados aumenta de tamanho com o tempo. De vez em quando, o MongoDB falhará em um nó específico em nosso conjunto de réplicas e não será iniciado novamente até que aumentemos significativamente (o dobro é seguro) nosso tamanho de arquivo de página. Atualmente, o arquivo de paginação é de 42 GB. Estamos executando o MongoDB como um conjunto de réplicas de 3 nós e cada nó está sendo executado em uma máquina virtual do Windows Server 2012 R2 no Azure. Cada servidor tem 3,5 GB de memória. MongoDB é a versão 2.6.5.

Eu vi as postagens abaixo, que estão relacionadas, e entendo que o MongoDB usa arquivos mapeados pela memória e, presumivelmente, a memória virtual ajuda nisso quando não temos muita RAM. O que não entendo é:

Por que o MongoDB requer tanta memória na inicialização (arquivo de paginação > 32 GB para um banco de dados de 131 GB) e com um conjunto de trabalho relativamente pequeno (~ 100 MB)? Presumivelmente, ele pode trocar os arquivos conforme necessário, especialmente com um arquivo de página tão grande, então por que o MongoDB está travando?

Aqui estão os posts que encontrei até agora:

o uso de memória mongodb está alto, mesmo que apenas inserções sejam feitas

e este

SERVER-10044, que explica por que o Mongo trava e sugere que as VMs são piores

Agradecemos antecipadamente por qualquer ajuda.

Para fornecer mais contexto, estamos usando o MongoDB para registrar dados, portanto, a maioria das coleções é gravada, mas raramente lida, com exceção de algumas pequenas coleções (total de 100 MB) que estão sujeitas a leituras e gravações constantes. Os dados são armazenados em um único banco de dados Mongo DB, cujas estatísticas são mostradas abaixo (db e nomes de coleção modificados):

    "db" : "MyDatabase",
    "collections" : 854,
    "objects" : 243025868,
    "avgObjSize" : 541.2304596809423,
    "dataSize" : 131533002252,
    "storageSize" : 172592721920,
    "numExtents" : 7268,
    "indexes" : 1934,
    "indexSize" : 27824138048,
    "fileSize" : 210284576768,
    "nsSizeMB" : 16,
    "dataFileVersion" : {
            "major" : 4,
            "minor" : 5
    },
    "extentFreeList" : {
            "num" : 3,
            "totalSize" : 110592
    },
    "ok" : 1

O conjunto de trabalho parece estar em torno da marca de 100 MB, conforme ilustrado abaixo:

   "workingSet" : {
           "note" : "thisIsAnEstimate",
           "pagesInMemory" : 20874,
           "computationTimeMicros" : 26236,
           "overSeconds" : 876
   },

A saída do arquivo de log no secundário que falhou mais recentemente é a seguinte (isso ocorreu durante a inicialização, embora a primeira vez que falhou tenha sido durante a operação normal):


2014-11-25T09:25:17.833+0000 [rsBackgroundSync] replSet syncing to: 10.1.6.71:27017 2014-11-25T09:25:17.833+0000 [rsBackgroundSync] replset setting syncSourceFeedback to 10.1.6.71:27017 1-2014 25T09:25:17.849+0000 [rsSync] replSet ainda sincronizando, ainda não para minValid optime 54744561:c 2014-11-25T09:25:18.286+0000 [rsSync] replSet SECONDARY 2014-11-25T09:26:01.590+0000 [ conn21] serverStatus estava muito lento: { após basic: 0, após asserts: 0, após backgroundFlushing: 0, após conexões: 0, após cursores: 0, após dur: 0, após extra_info: 0, após globalLock: 0, após indexCounters : 0, após bloqueios: 0, após rede: 0, após opcounters: 0, após opcountersRepl: 0, após oplog: 10451, após recordStats: 10451, após repl: 10451, no final: 10451 } 2014-11-25T09:26 :01.590+0000 [conn21] comando admin.$cmd comando:serverStatus { serverStatus: 1, oplog: 1 } keyUpdates:0 numYields:0 locks(micros) r:65 reslen:4028 16764ms 2014-11-25T09:26:31.155+0000 [DataFileSync] liberando mmaps levou 15022ms para 115 arquivos 2014- 11-25T09:26:47.501+0000 [conn5] serverStatus estava muito lento: { após basic: 0, após asserts: 0, após backgroundFlushing: 0, após conexões: 0, após cursores: 0, após dur: 0, após extra_info : 0, após globalLock: 0, após indexCounters: 0, após bloqueios: 0, após rede: 0, após opcounters: 0, após opcountersRepl: 0, após oplog: 4791, após recordStats: 4791, após repl: 4791, no final : 4791 } 2014-11-25T09:26:47.501+0000 [conn5] comando admin.$cmd comando: serverStatus { serverStatus: 1, oplog: 1 } keyUpdates:0 numYields:0 locks(micros) r:88 reslen:4028 7674ms 2014-11-25T09:27:06.350+0000 [repl writer worker 6]1, oplog: 1 } keyUpdates:0 numYields:0 locks(micros) r:65 reslen:4028 16764ms 2014-11-25T09:26:31.155+0000 [DataFileSync] os mmaps de descarga levaram 15022ms para 115 arquivos 2014-11-25T09: 26:47.501+0000 [conn5] serverStatus estava muito lento: { após basic: 0, após asserts: 0, após backgroundFlushing: 0, após conexões: 0, após cursores: 0, após dur: 0, após extra_info: 0, após globalLock: 0, após indexCounters: 0, após bloqueios: 0, após rede: 0, após opcounters: 0, após opcountersRepl: 0, após oplog: 4791, após recordStats: 4791, após repl: 4791, no final: 4791 } 2014 -11-25T09:26:47.501+0000 [conn5] comando admin.$cmd comando: serverStatus { serverStatus: 1, oplog: 1 } keyUpdates:0 numYields:0 locks(micros) r:88 reslen:4028 7674ms 2014-11 -25T09:27:06.350+0000 [repl escritor trabalhador 6]1, oplog: 1 } keyUpdates:0 numYields:0 locks(micros) r:65 reslen:4028 16764ms 2014-11-25T09:26:31.155+0000 [DataFileSync] os mmaps de descarga levaram 15022ms para 115 arquivos 2014-11-25T09: 26:47.501+0000 [conn5] serverStatus estava muito lento: { após basic: 0, após asserts: 0, após backgroundFlushing: 0, após conexões: 0, após cursores: 0, após dur: 0, após extra_info: 0, após globalLock: 0, após indexCounters: 0, após bloqueios: 0, após rede: 0, após opcounters: 0, após opcountersRepl: 0, após oplog: 4791, após recordStats: 4791, após repl: 4791, no final: 4791 } 2014 -11-25T09:26:47.501+0000 [conn5] comando admin.$cmd comando: serverStatus { serverStatus: 1, oplog: 1 } keyUpdates:0 numYields:0 locks(micros) r:88 reslen:4028 7674ms 2014-11 -25T09:27:06.350+0000 [repl escritor trabalhador 6]0 locks(micros) r:65 reslen:4028 16764ms 2014-11-25T09:26:31.155+0000 [DataFileSync] a descarga de mmaps levou 15022ms para 115 arquivos 2014-11-25T09:26:47.501+0000 [conn5] serverStatus era muito slow: { após basic: 0, após asserts: 0, após backgroundFlushing: 0, após conexões: 0, após cursores: 0, após dur: 0, após extra_info: 0, após globalLock: 0, após indexCounters: 0, após bloqueios : 0, após rede: 0, após opcounters: 0, após opcountersRepl: 0, após oplog: 4791, após recordStats: 4791, após repl: 4791, no final: 4791 } 2014-11-25T09:26:47.501+0000 [ conn5] comando admin.$cmd comando: serverStatus { serverStatus: 1, oplog: 1 } keyUpdates:0 numYields:0 locks(micros) r:88 reslen:4028 7674ms 2014-11-25T09:27:06.350+0000 [repl writer trabalhador 6]0 locks(micros) r:65 reslen:4028 16764ms 2014-11-25T09:26:31.155+0000 [DataFileSync] a descarga de mmaps levou 15022ms para 115 arquivos 2014-11-25T09:26:47.501+0000 [conn5] serverStatus era muito slow: { após basic: 0, após asserts: 0, após backgroundFlushing: 0, após conexões: 0, após cursores: 0, após dur: 0, após extra_info: 0, após globalLock: 0, após indexCounters: 0, após bloqueios : 0, após rede: 0, após opcounters: 0, após opcountersRepl: 0, após oplog: 4791, após recordStats: 4791, após repl: 4791, no final: 4791 } 2014-11-25T09:26:47.501+0000 [ conn5] comando admin.$cmd comando: serverStatus { serverStatus: 1, oplog: 1 } keyUpdates:0 numYields:0 locks(micros) r:88 reslen:4028 7674ms 2014-11-25T09:27:06.350+0000 [repl writer trabalhador 6]155+0000 [DataFileSync] limpeza de mmaps levou 15022ms para 115 arquivos 2014-11-25T09:26:47.501+0000 [conn5] serverStatus estava muito lento: { depois de básico: 0, depois de asserts: 0, depois de backgroundFlushing: 0, depois de conexões : 0, após cursores: 0, após dur: 0, após extra_info: 0, após globalLock: 0, após indexCounters: 0, após bloqueios: 0, após rede: 0, após opcounters: 0, após opcountersRepl: 0, após oplog : 4791, após recordStats: 4791, após repl: 4791, no final: 4791 } 2014-11-25T09:26:47.501+0000 [conn5] comando admin.$cmd comando: serverStatus { serverStatus: 1, oplog: 1 } keyUpdates :0 numYields:0 locks(micros) r:88 reslen:4028 7674ms 2014-11-25T09:27:06.350+0000 [repl writer worker 6]155+0000 [DataFileSync] limpeza de mmaps levou 15022ms para 115 arquivos 2014-11-25T09:26:47.501+0000 [conn5] serverStatus estava muito lento: { depois de básico: 0, depois de asserts: 0, depois de backgroundFlushing: 0, depois de conexões : 0, após cursores: 0, após dur: 0, após extra_info: 0, após globalLock: 0, após indexCounters: 0, após bloqueios: 0, após rede: 0, após opcounters: 0, após opcountersRepl: 0, após oplog : 4791, após recordStats: 4791, após repl: 4791, no final: 4791 } 2014-11-25T09:26:47.501+0000 [conn5] comando admin.$cmd comando: serverStatus { serverStatus: 1, oplog: 1 } keyUpdates :0 numYields:0 locks(micros) r:88 reslen:4028 7674ms 2014-11-25T09:27:06.350+0000 [repl writer worker 6]após asserts: 0, após backgroundFlushing: 0, após conexões: 0, após cursores: 0, após dur: 0, após extra_info: 0, após globalLock: 0, após indexCounters: 0, após bloqueios: 0, após rede: 0, after opcounters: 0, after opcountersRepl: 0, after oplog: 4791, after recordStats: 4791, after repl: 4791, at end: 4791 } 2014-11-25T09:26:47.501+0000 [conn5] command admin.$cmd command : serverStatus { serverStatus: 1, oplog: 1 } keyUpdates:0 numYields:0 locks(micros) r:88 reslen:4028 7674ms 2014-11-25T09:27:06.350+0000 [repl writer worker 6]após asserts: 0, após backgroundFlushing: 0, após conexões: 0, após cursores: 0, após dur: 0, após extra_info: 0, após globalLock: 0, após indexCounters: 0, após bloqueios: 0, após rede: 0, after opcounters: 0, after opcountersRepl: 0, after oplog: 4791, after recordStats: 4791, after repl: 4791, at end: 4791 } 2014-11-25T09:26:47.501+0000 [conn5] command admin.$cmd command : serverStatus { serverStatus: 1, oplog: 1 } keyUpdates:0 numYields:0 locks(micros) r:88 reslen:4028 7674ms 2014-11-25T09:27:06.350+0000 [repl writer worker 6]após repl: 4791, no final: 4791 } 2014-11-25T09:26:47.501+0000 [conn5] comando admin.$cmd comando: serverStatus { serverStatus: 1, oplog: 1 } keyUpdates:0 numYields:0 locks(micros ) r:88 reslen:4028 7674ms 2014-11-25T09:27:06.350+0000 [repl writer worker 6]após repl: 4791, no final: 4791 } 2014-11-25T09:26:47.501+0000 [conn5] comando admin.$cmd comando: serverStatus { serverStatus: 1, oplog: 1 } keyUpdates:0 numYields:0 locks(micros ) r:88 reslen:4028 7674ms 2014-11-25T09:27:06.350+0000 [repl writer worker 6]VirtualProtect para m:/mongodb/data/MyDatabase.72 chunk 21220 falhou com errno:1455 O arquivo de paginação é muito pequeno para esta operação ser concluída. (tamanho do bloco é 67108864, endereço é 14b90000000) em mongo::makeChunkWritable, terminando 2014-11-25T09:27:06.350+0000 [repl writer worker 6] MyDatabase.RC_PUR_11_456754 Fatal Assertion 16362 2014-11-275:09. 0000 [repl writer worker 6] Falha no rastreamento de pilha, SymInitialize falhou com o erro 3765269347 2014-11-25T09:27:06.615+0000 [repl writer worker 6] MyDatabase.RC_PUR_11_456754 2014-11-25T09:27:06.615+0000 [repl writer trabalhador 6]

*** abortando após falha fassert ()

mongodb virtualisation
  • 1 respostas
  • 1016 Views

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