1、多核心系统资源分配问题

2017-10-13T17:57:02.650+0800 I CONTROL [initandlisten] ** WARNING: You are running on a NUMA machine.
2017-10-13T17:57:02.650+0800 I CONTROL [initandlisten] ** We suggest launching mongod like this to avoid performance problems:
2017-10-13T17:57:02.650+0800 I CONTROL [initandlisten] ** numactl --interleave=all mongod [other options]

就像提示中写的一样,启动脚本写成如下即可:

numactl --interleave=all /path/to/mongod --config /path/to/mongodb.conf

2、大内存页问题

2017-10-13T17:57:02.650+0800 I CONTROL [initandlisten]
2017-10-13T17:57:02.650+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2017-10-13T17:57:02.650+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2017-10-13T17:57:02.650+0800 I CONTROL [initandlisten]
2017-10-13T17:57:02.650+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2017-10-13T17:57:02.650+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never'

 我们cat一下上面两个文件,发现内容是“[always] madvise never”,我们需要根据提示将其改为never,但是这项设置不是很好改,所以一个比较简单的解决方案就是开机时将其修改了,并不改变默认配置。而且对此文件的修改需要在root用户下进行,直接在启动脚本中sudo -S是不行的。于是解决方案如下: 

sudo vim /etc/rc.local

在后面加入如下两句
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag

3、bonus

  记得把/etc/security/limits.conf中的nofile改大,不然1024的nofile肯定会因为文件打开过多出现系统问题的。

  前两个warning仅仅会导致性能出现问题,而第三个则会导致系统错误。

4、其他的Access Control warning就不用管了

mongoDB启动前的系统设置,解决部分Warning问题的更多相关文章

  1. 安装MongoDB启动时报错‘发生系统错误2’的解决办法

    安装数据库mongodb启动时报"发生系统错误2". 这个问题是如果你之前已经装过一次,并且两次安装目录不同,就绝对会碰到的,因为你之前安装的路径已经在注册表中生成了,并没有随着你 ...

  2. MongoDB启动配置等

    目录: 一.mongoDB 启动配置 二.导出,导入,运行时备份 三.Fsync锁,数据修复 四.用户管理,安全认证 一.启动项 mongod --help C:\Windows\system32&g ...

  3. 《k8s-1.13版本源码分析》- Scheduler启动前逻辑

    本文原始地址(gitbook格式):https://farmer-hutao.github.io/k8s-source-code-analysis/core/scheduler/before-sche ...

  4. MongoDB启动报错 32-bit servers don't have journaling enabled by default. Please use --journal if you want durability. 【转】

    之前MongoDB启动的时候是蛮正常的,不知道后来启动报错了,就把粘贴出来查询了.最后才知道是由于自己不正常的关闭导致的这个情况. --摘录:MongoDB非正常关闭后修复记录 mongod没有后台执 ...

  5. 在 ASP.NET Core 程序启动前运行你的代码

    一.前言 在进行 Web 项目开发的过程中,可能会存在一些需要经常访问的静态数据,针对这种在程序运行过程中可能几乎不会发生变化的数据,我们可以尝试在程序运行前写入到缓存中,这样在系统后续使用时就可以直 ...

  6. Mongodb启动命令mongod参数说明

    Mongodb启动命令mongod参数说明 mongod的主要参数有: 基本配置 ----------------------------------------------------------- ...

  7. dell r710 安装ubuntu 12.04 server 启动后进入initramfs解决办法

    dell r710 安装ubuntu 12.04 server 启动后进入initramfs解决办法 grub 启动菜单后加入 rootdelay=90, 如下:/boot/vmlinuz-2.6.3 ...

  8. service mysql start出错,mysql启动不了,解决mysql: unrecognized service错误

    service mysql start出错,mysql启动不了,解决mysql: unrecognized service错误的方法如下: [root@ctohome.com ~]# service ...

  9. 重新想象 Windows 8.1 Store Apps (91) - 后台任务的新特性: 下载和上传的新特性, 程序启动前预下载网络资源, 后台任务的其它新特性

    [源码下载] 重新想象 Windows 8.1 Store Apps (91) - 后台任务的新特性: 下载和上传的新特性, 程序启动前预下载网络资源, 后台任务的其它新特性 作者:webabcd 介 ...

随机推荐

  1. tail命令 输出文件后n行,默认查看文件的后10行

    默认查看文件的后10行 -n 3 数字   也可以忽略-n 直接加数字 tail 3 查看文件后3行 [root@localhost ~]# tail /etc/passwd // 默认查看文件的后十 ...

  2. python json 模块

    什么是json? json是返回的是字符串格式,把python数据类型列表.字典转换成json字符串格式, 这种格式java php 其他语言都可以认识的字符串,可以跨语言交流. json,用于字符串 ...

  3. WINDOWS SERVER 2008 R2安装指南

    说明:适用于以下几种操作系统: 1.Windows Server 2008 Standard Endition R2 2.Windows Server 2008 Enterprise Endition ...

  4. 回文字符串 NYOJ

    # include<iostream> # include<string> # include<string.h> # include<queue> # ...

  5. 桌面图标未读消息(小米,sony,三星手机)

    新消息来了,在桌面的Laucher图标上显示新消息数 /** * 应用桌面图标未读消息显示工具类 * 只支持 小米,三星和索尼 */ public class BadgeUtil { final st ...

  6. 根据设备宽高设置View的大小

    得到设备屏幕宽高: WindowManager wManager = (WindowManager)context.getSystemService(Context.WINDOW_SERVICE); ...

  7. 【LeetCode每天一题】3Sum(三数之和)

    Given an array nums of n integers, are there elements a, b, c in nums such that a + b + c = 0? Find ...

  8. 【LeetCode每天一题】Pascal's Triangle(杨辉三角)

    Given a non-negative integer numRows, generate the first numRows of Pascal's triangle. In Pascal's t ...

  9. 建模:通过ES平铺关系型数据库多表的数据

    问:建模要从一个限界上下文中来建模,是否可以简单的把几张表进行笛卡尔乘积方式的平铺? 答:不能,原因之一,数据量会急剧增长:原因之二,这样的平铺是毫无意义的,必须要定义一个维度,在这个维度上根据需求约 ...

  10. 20-Python3 数据结构

    2018-11-30 15:45:55 ''' 列表 ''' # list.count(x): 返回x在列表中出现的次数 a1 = [1,123.25,333,333,456.5] print(a1. ...