以下各节描述的步骤在Linux系统上安装的TimesTen之前执行:
共享内存(Linux的):PermSize + TempSize + LogBufMB + 64 MB
# vi /etc/sysctl.conf
考虑下面的例子,其中的TimesTen数据库的大小(主要的共享内存段的大小)是64 GB,并没有其他的共享内存段是必需的。
kernel.shmmax = 68719476736 =physical RAM size
kernel.shmall = 16777216 =physical RAM size / pagesize
pagesize 一般是4096
(64×1024×1024×1024 = 68719476736和4096分之68719476736= 16777216)
# /sbin/sysctl -p
# ipcs -lm --查看以KB为单位
大页(Linux的):大页大小默认为2M 可能过 cat /proc/meminfo查看
vi /etc/sysctl.conf
其中主要的TimesTen共享内存段大小为64 GB(65536 MB),则大页面大小为2 MB,而实例管理员的组ID为900 用( ID-G 组名可以查看)
vm.nr_hugepages = 32768
vm.hugetlb_shm_group = 900 查看组名 ID-G myadmin
# /sbin/sysctl -p
vi /etc/security/limits.conf 可以切到 myadmin 用户,用面这个验证 ulimit -a|grep lock
myadmin soft memlock 67108864
myadmin hard memlock 67108864
(64×1024×1024 = 67108864)
在 info/ttendaemon.options 目录需加上
-linuxLargePageAlignment 2
安装TT后:可以运行ttStatus工具来确认TimesTen的使用大页面
Shared Memory KEY 0x1202031f ID 2457616 (LARGE PAGES, LOCKED)
信号量(Linux的) :# /sbin/sysctl -a --查看
# vi /sbin/sysctl
例如,如果您计划使用2000连接,指定kernel.sem设置,如在下面的
kernel.sem = 2155 275840 2155 128
(155 + 2000 = 2155)
# /sbin/sysctl -p
kernel.sem 4个数据分别对应 SEMMSL SEMMNS SEMOPM SEMMNI
SEMMSL =最大连接数+155
SEMMNS =SEMMSL * SEMMNI
SEMOPM = SEMMSL
SEMMNI =最小128 或 8192
IPC的客户机/服务器(Linux的)