recherche

Maison  >  Questions et réponses  >  le corps du texte

数据库 - mongodb如何 清除占用的内存

最近在学习使用mongodb,发现它内存占用厉害,网上搜索了一下发现很多都利用use admin;db.runCommand({closeAllDatabases:1})来清除内存,我在3.0中发现没有该命令,

是3.0中取消了该命令还是我的打开的方法不对,查看了一下手册也没有发现类似的替代命令,请问最新版本中还有该命令么?如果有的话,应该怎么使用呢?

世界只因有你世界只因有你2797 Il y a quelques jours986

répondre à tous(2)je répondrai

  • PHP中文网

    PHP中文网2017-04-26 09:03:54

    J'apprends également Mongodb récemment, je vous recommande le matériel d'apprentissage Mongodb http://www.hubwiz.com/course/54bdfcb188dba012b4b95c9c/

    répondre
    0
  • 怪我咯

    怪我咯2017-04-26 09:03:54

    Beaucoup de gens pensent qu'il y a un problème avec la base de données qui occupe trop de mémoire. En fait, ce n'est pas du tout un problème et n'a pas besoin d'être résolu.
    Tout d'abord, la tâche principale d'une base de données est de gérer les données. Comment fournir des requêtes de données plus rapidement est un problème que toutes les bases de données doivent résoudre. Les solutions de chaque entreprise sont presque les mêmes. Qu'il s'agisse de SQLServer, MySQL ou MongoDB, elles échangent toutes de l'espace contre de l'efficacité. En termes simples, il s'agit d'utiliser autant de mémoire que possible et de charger autant que possible toutes les choses utiles (index, données, etc.) en mémoire pour améliorer la vitesse d'exécution. Ce n’est donc certainement pas un bug, mais un comportement attendu. À l’inverse, si une base de données s’exécute lentement afin d’économiser de la mémoire, cela viole l’objectif fondamental d’une base de données.
    Une fois que vous avez compris cela, examinons votre question.

    1. Si vous êtes dans un environnement de production, il n'est pas du tout nécessaire de récupérer de la mémoire, car cela ne fera que rendre l'efficacité instantanée très médiocre. Et cela ne fonctionne pas, car la base de données rechargera les données du disque plus tard, provoquant des E/S disque élevées et affectant la vitesse d'écriture. Ainsi, en fin de compte, vous n’obtenez que de la mémoire libre temporaire, et la vitesse des requêtes et la vitesse d’écriture seront grandement affectées. Vous pouvez déterminer par vous-même si c’est une bonne affaire ou non.
    2. S'il s'agit d'un environnement de développement et que vous n'avez pas à vous soucier de ces problèmes, redémarrer Mongod peut facilement résoudre le problème. De plus, comme vous souhaiterez peut-être effacer davantage les données du cache, vous pouvez utiliser la commande Linux : echo 3 >
    Référence :

    MongoDB nécessite-t-il beaucoup de RAM ?
    Comment vider les tampons et le cache sur un système Linux ?

    répondre
    0
  • Annulerrépondre