文章
· 四月 9, 2022 阅读大约需 2 分钟

基于Redhat Linux安装InterSystems IRIS 的服务器内存相关参数配置建议

注意:下面内存设置数值仅限参考,具体内存数值的设置是否合适,依赖于更多实际使用情况决定。

主要需要设置下面几个内存相关配置:

(下面比例适用于服务器仅运行单实例InterSystems IRIS)
数据库缓存Database cache:
    建议小于64G内存设置总内存50%,大于等于64G内存设置70%总内存
程序缓存routine cache:
    建议设置1023MB
gmheap:
    建议设置1048576KB(1024MB)
LockSize:
    建议最少设置134217728 Bytes (128MB),如果在系统日志中提示locksize相关错误或警报,应相应增加。

如果在一台服务器上安装了多个InterSystems IRIS 实例,那么要保证 所有InterSystems IRIS 运行实例的 Shared memory(database cache + routine cache + gmheap) 总值小于 Hugepage设定的值

hugePages
    建议设置值大于系统所有InterSystems IRIS 运行实例的 Shared memory(database cache + routine cache + gmheap) 总值再往上取整+1G。之后监控cache efficiency 调整设置大小。
    要注意对于繁忙的系统,需要为除IRIS之外系统预留足够内存。比如主要负责系统集成、使用JavaGateway等会使用多个外部进程,需要为其预留足够内存。

比如要设置Huge pages 大小为12G。
    如果Hugepagessize为2048KB,那么设置HugePage_Total=12*1024*1024/2048=6144

echo "vm.nr_hugepages=6144" >> /etc/sysctl.conf 

禁用Transparent HugePages (THP)
    检查状态

# cat /sys/kernel/mm/redhat_transparent_hugepage/enabled

或者 

# cat /sys/kernel/mm/transparent_hugepage/enabled

设置禁用THP
    1. 在/etc/grub.conf文件中添加 transparent_hugepage = never
    2. 重启服务器

Kernel shared Memory Limit:
   检查该值设置要大于hugePages的值,在/etc/sysctl.conf 文件中查找kernel.shmmax 的内容

swappiness
    建议系统内存小于64G该值设置为5,系统内存大于64G设置为1

echo "vm.swappiness=5" >> /etc/sysctl.conf 

Dirty Page Cleanup

echo "vm.dirty_background_ratio=5" >> /etc/sysctl.conf 
echo "vm.dirty_ratio=10" >> /etc/sysctl.conf
讨论 (0)1
登录或注册以继续