主要需要设置下面几个内存相关配置
hugePages :
建议设置系统可用内存总量的75%。比如一共16G内存,则设置Huge pages 大小为12G。
如果Hugepagessize为2048KB,那么设置HugePage_Total=12*1024*1024/2048=6144
echo "vm.nr_hugepages=6144" >> /etc/sysctl.conf
Kernel shared Memory Limit:
建议该值设置要大于hugePages的值,比如设置13G则13*1024*1024*1024=13958643712
echo "kernel.shmmax=13958643712" >> /etc/sysctl.conf
swappiness
建议该值设置为5
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)
数据库缓存Database cache:
建议小于64G内存设置总内存50%,大于等于64G内存设置70%总内存
程序缓存routine cache:
建议设置1024MBgmheap:
建议设置1048576KB(1024MB)LockSize:
建议设置134217728 Bytes (128MB)
如果在一台服务器上安装了多个InterSystems IRIS 实例,那么要保证 InterSystems IRIS 使用的 Shared memory(database cache + routine cache + gmheap) 小于 Hugepage的值