Why is the database of a Meteor app that has been run once (and never loaded) taking up nearly 3GB?

前端 未结 4 1708
名媛妹妹
名媛妹妹 2021-01-12 03:05

UPDATE: this was fixed after Meteor v0.4 (2012). For historical purposes:


Excerpt from du:

2890768 ./Code/Meteor/         


        
相关标签:
4条回答
  • 2021-01-12 03:50

    The commands that work for me are:

    1. stop mongodb instance if it is running

    sudo service mongod stop

    1. create new mongodb instance without requiring 3+GB preallocated space and use smallfiles.

    mongod --noprealloc --smallfiles

    If you are getting “ERROR: dbpath (/data/db) does not exist.” when running 2, then run these commands before 2. sudo mkdir -p /data/db/

    sudo chown `id -u` /data/db

    0 讨论(0)
  • 2021-01-12 03:53

    When meteor run is executed, it starts mongodb with default mongo settings, so it creates (massive) prealloc files in .meteor/local/db/journal.

    There is no obvious way to disable this behavior. What I have done as a workaround is change the file app/lib/mongo_runner.js and add a --nojournal parameter that gets passed to mongodb at startup.

    I created an issue for this: https://github.com/meteor/meteor/issues/15

    0 讨论(0)
  • 2021-01-12 04:04

    Maybe you can use smallfiles=true parameter for mongoDB? It will create smallest prealloc files

    0 讨论(0)
  • 2021-01-12 04:04

    You can turn off preallocation by passing the --noprealloc arg to mongod. The downside is that there will be pauses each time a new storage file needs to be allocated. Depending on the filesystem you are using (e.g., ext3 vs. ext4), this could result in noticeable latency for a user.

    0 讨论(0)
提交回复
热议问题