2015-09-05 224 views
4

我已经看到其他人启动警告,但我似乎无法找到任何东西在这一个。我在Ubuntu 14.04上运行的一些笔记,我的mongo版本是3.0.5(我也试过类似的问题,3.0.6)我试过停止/重新启动无济于事。MongoDB服务器启动警告

它似乎在寻找一个不存在的文件,所以我不确定是否有人知道这个文件的用途。这里是日志我得到在启动时($蒙戈)

MongoDB shell version: 3.0.5 
connecting to: test 
Server has startup warnings: 
2015-09-04T23:25:54.707-0400 I STORAGE [initandlisten] unable to validate readahead settings due to error: boost::filesystem::status: Permission denied: "/sys/dev/block/8:1/queue/read_ahead_kb" 
2015-09-04T23:25:54.707-0400 I STORAGE [initandlisten] for more information, see http://dochub.mongodb.org/core/readahead 
2015-09-04T23:25:54.793-0400 I CONTROL [initandlisten] 
2015-09-04T23:25:54.793-0400 I CONTROL [initandlisten] ** WARNING: Cannot detect if NUMA interleaving is enabled. Failed to probe "/sys/devices/system/node/node1": Permission denied 
2015-09-04T23:25:54.793-0400 W CONTROL [initandlisten] 
2015-09-04T23:25:54.793-0400 W CONTROL [initandlisten] Failed to probe "/sys/kernel/mm/transparent_hugepage": Permission denied 
2015-09-04T23:25:54.793-0400 W CONTROL [initandlisten] 
2015-09-04T23:25:54.793-0400 W CONTROL [initandlisten] Failed to probe "/sys/kernel/mm/transparent_hugepage": Permission denied 
2015-09-04T23:25:54.793-0400 I CONTROL [initandlisten] 

我无法找到"/sys/dev/block/8:1/queue/read_ahead_kb"它是寻找并援引拒绝的权限,蒙戈经根安装,如果有差别。

有谁知道什么可能会导致此错误?我已经完成了多个mongo安装,之前没有遇到过这个问题。

+0

这篇文章可以帮助你(这是有关):http://stackoverflow.com/questions/28911634/how-to-avoid-transparent-hugepage-defrag-warning -from-mongodb – woohoo

+0

它看起来像一个权限问题;你不是用'$ sudo service mongod start'启动mongo服务吗? – woohoo

+0

@woohoo我的确用sudo开始了,我已经在它没有关联之前看过那个主题,我有其他海报提到的那些设置。我应该注意,虽然它似乎工作正常,它导入我的mongodump罚款,我可以查询/插入没有错误。 –

回答

9

由于默认安装了自定义内核,因此与OVH/Kimsufi具有完全相同的问题。

首先,你需要有第一个普通的ubuntu内核,而不是你的托管公司修改的内核。

然后,你需要禁用透明大内存页删除警告,并提高内存管理相关的内存性能:

  1. 添加该脚本/etc/init.d/disable-transparent-hugepage

    #!/bin/sh 
    ### BEGIN INIT INFO 
    # Provides:   disable-transparent-hugepages 
    # Required-Start: $local_fs 
    # Required-Stop: 
    # X-Start-Before: mongod mongodb-mms-automation-agent 
    # Default-Start:  2 3 4 5 
    # Default-Stop:  0 1 6 
    # Short-Description: Disable Linux transparent huge pages 
    # Description:  Disable Linux transparent huge pages, to improve 
    #     database performance. 
    ### END INIT INFO 
    
    case $1 in 
        start) 
        if [ -d /sys/kernel/mm/transparent_hugepage ]; then 
         thp_path=/sys/kernel/mm/transparent_hugepage 
        elif [ -d /sys/kernel/mm/redhat_transparent_hugepage ]; then 
         thp_path=/sys/kernel/mm/redhat_transparent_hugepage 
        else 
         return 0 
        fi 
    
        echo 'never' > ${thp_path}/enabled 
        echo 'never' > ${thp_path}/defrag 
    
        unset thp_path 
        ;; 
    esac 
    
  2. 使脚本可执行文件sudo chmod 755 /etc/init.d/disable-transparent-hugepage

  3. 在启动时注册sudo update-rc.d disable-transparent-hugepage defaults

编号:https://docs.mongodb.org/v3.0/tutorial/transparent-huge-pages/

+1

你有一个错字:脚本名称是“/etc/init.d/disable-transparent-hugepage”而不是“/etc/init.d/disable-transparent-hugepages”如果在服务器重新启动后工作,我会给出反馈:) – tomcyr

+1

系统重新启动后,mongodb服务重新启动它的作品!谢谢! – tomcyr

+0

是否有一个选项可以避免该问题,而不需要在常规内核的OVH上重新安装操作系统?如果我使用默认的内核重新安装,您是否知道修改的内核到底有什么以及会受到哪些影响(监视工具?访问?)?提前致谢。 –