Published on InterSystems Developer Community (https://community.intersystems.com)

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

文章
Louis Lu · 四月 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
#InterSystems IRIS #InterSystems IRIS for Health

源 URL:https://cn.community.intersystems.com/post/%E5%9F%BA%E4%BA%8Eredhat-linux%E5%AE%89%E8%A3%85intersystems-iris-%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%86%85%E5%AD%98%E7%9B%B8%E5%85%B3%E5%8F%82%E6%95%B0%E9%85%8D%E7%BD%AE%E5%BB%BA%E8%AE%AE