版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

  • 在缺省情况下,使用时间越长,访问次数越多内存分配的越大
  • mongodb通过操作系统内存映射方式分配内存,自己并不管理内存,导致缺省情况下,物理内存占用总是趋向于100%。
  • mongodb的存储引擎缺省分配物理内存策略:
    • 最大物理内存大小算法如下:(电脑总物理内存-1G)/
    2。如服务器物理内存64G,pkhisdb最大内存可以占用
    • 2。如服务器物理内存64G,pkhisdb最大内存可以占用(64-1)/2=31.5G物理内存
    • 如果通过下面方法修改存储引擎大小,如wiredTigerCacheSizeGB=4。但在2012上实测内存还是占用到95%。
  • 可以通过下面方法修改
    • 在windows 2008下可以通过安装操作系统自带工具WSRM(系统资源管理器)来限制内存
    • 在windows2012下没有WSRM,需要通过Hyper-V
    • Linux可以通过cgroups工具限制物理内存
  • 服务器内存很大时,虽然看起来使用的内存很多,不会影响mongodb使用,但影响该服务器上其他程序的使用。服务器内存很大时,虽然看起来使用的内存很多,但并不会影响电脑的使用。
  • 如1500点的历史数据,运行1天后,内存达到20G左右(服务器内存总64G),使用processexplore工具(查看方法:进程探测器,查看程序内存和虚拟内存、启动时间等信息)看到pkhisdb内存为19G,这样其实不会出现问题:

...