Memory 我应该为我的TimesTen数据库使用巨大的页面吗?如果是,我该如何配置它?

Memory 我应该为我的TimesTen数据库使用巨大的页面吗?如果是,我该如何配置它?,memory,huge-pages,timesten,Memory,Huge Pages,Timesten,我听说建议对TimesTen数据库使用的内存使用巨大的页面。对吗?如果是这样,我如何配置操作系统和TimesTen以确保它使用巨大的页面?如果您有一个大型数据库,则使用巨大的页面是有益的,如果您的数据库大小>=256 GB,则必须使用巨大的页面。您应该使用显式配置的巨大页面而不是透明的巨大页面。要配置合适的操作系统,您需要: 确定总共需要多少巨大的页面(所有并发活动数据库的总和)。对于每个数据库,确定数据库共享内存段的大小,除以系统巨大页面大小(默认为2MB)并取整。对这些值求和以获得巨大页面的

我听说建议对TimesTen数据库使用的内存使用巨大的页面。对吗?如果是这样,我如何配置操作系统和TimesTen以确保它使用巨大的页面?

如果您有一个大型数据库,则使用巨大的页面是有益的,如果您的数据库大小>=256 GB,则必须使用巨大的页面。您应该使用显式配置的巨大页面而不是透明的巨大页面。要配置合适的操作系统,您需要:

  • 确定总共需要多少巨大的页面(所有并发活动数据库的总和)。对于每个数据库,确定数据库共享内存段的大小,除以系统巨大页面大小(默认为2MB)并取整。对这些值求和以获得巨大页面的数量。为系统上的所有其他活动保留足够的内存,而不是分配给大型页面,这一点至关重要

  • 编辑文件/etc/sysctl.conf并添加(或修改)行

  • vm.nr_hugepages=N

    其中N是您确定的值

  • 您还需要添加/修改此行
  • vm.hugetlb_shm_group=timesten_实例_管理_gid

    其中timesten\u instance\u admin\u gid是作为timesten实例管理员的用户的数字组id

  • 确保允许TimesTen实例管理员用户锁定足够的内存(大型页面始终被锁定)。通常,这是通过/etc/security/limits.conf(memlock参数)中的条目完成的,但是如果您正在systemd下运行TimesTen守护程序,则需要查阅相关文档以了解如何在该环境中应用设置

  • 如果必须进行上述任何更改,请重新启动系统

  • 检查是否已配置预期数量的大页面并可用(cat/proc/meminfo

  • TimesTen 18.1及更新版本将在创建数据库内存段时自动尝试使用大型页面。如果尝试失败,它将尝试退回到使用常规内存。因此,TimesTen端不需要特殊配置