TimesTen 安装的时候,操作系统有几项必要的配置,这里详细记录其配置算法:
注:适用于timesten 11.2.2
------------
Large pages (Linux)
[root@memdb02 ~]# cat /proc/meminfo
AnonHugePages: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
[root@memdb02 ~]# vi /etc/sysctl.conf
vm.nr_hugepages = 51200 (该参数是用TT库内存的大小除以Hugepagesize 的大小得来的【2M】,比如这里假设TT库最大可用内存是100G,则该只为100g/2M)
vm.hugetlb_shm_group = "id -g mygroup" (该参数等号右边为TT安装用户的组id 号 如 :600)
sysctl -p 使之生效
然后于TT安装目录下的 ttendaemon.options文件中配置 -linuxLargePageAlignment Size_in_MB 参数,开启TT中的大页属。
如:
/opt/timesten/TimesTen/tt_order/info/ttendaemon.options
-linuxLargePageAlignment 2
------
Semaphores (Linux)
[root@memdb02 ~]# vi /etc/sysctl.conf
kernel.sem = 655 32000 100 128
第一个参数,是TT允许的连接数加上155 ,所以这里TT允许500个连接
第二个参数是系统允许的最大信号量
The third parameter is maximum operations per semop call (SEMOPM)
The fourth parameter is maximum arrays (SEMNI).
所以该参数的配置尤为重要
-----
Shared memory
kernel.shmmax=68719476736 (单位是byte,该参数值为TT允许的最大内存换算成byte,如这里db内存60G)
kernel.shmall=4194304 (该参数为TT允许的最大内存换算成KB/page_size )
注:Page size is generally 4 KB on x86 systems and 16 KB on Itanium
使用该命令,可以在不重启机器的情况下增加共享内存。
% /sbin/sysctl -w kernel.shmmax=2147483648
----------