Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Mongo DB Server Startup Warnings

Tags:

mongodb

I've seen others with startup warnings but I can't seem find anything on this one. A few notes I'm running on Ubuntu 14.04 my mongo version is 3.0.5 (I've also tried 3.0.6 with similar issues) I've tried stoping/ restarting to no avail.

It seems to be looking for a file that does not exist so I'm not sure if anyone is aware of what this file is for. Here is the log I get upon start up ($ mongo)

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]

I can't locate "/sys/dev/block/8:1/queue/read_ahead_kb" which it is looking for and citing permission denied, mongo was installed via root if that makes a difference.

Does anyone know what might be causing this error? I've done multiple mongo installs and haven't come across this before.

like image 521
Joel Cummings Avatar asked Jan 07 '23 15:01

Joel Cummings


1 Answers

Had the exact same issues with OVH/Kimsufi due to their custom kernel installed by default.

First, you need to have first the regular ubuntu kernel and not one modified by your hosting company.

Then, you need to disable transparent huge pages to remove the warning and improve memory performance related to memory management:

  1. Add this script as /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. Make the script executable sudo chmod 755 /etc/init.d/disable-transparent-hugepage

  3. Register it at boot sudo update-rc.d disable-transparent-hugepage defaults

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

like image 182
Hartator Avatar answered Jan 15 '23 20:01

Hartator