暂无图片
金仓数据库中max_locks_per_transaction 设置过大引发数据库启动不了怎么回事?
我来答
分享
暂无图片 匿名用户
金仓数据库中max_locks_per_transaction 设置过大引发数据库启动不了怎么回事?

²  max_locks_per_transaction :这个参数控制每个事务能够得到的平均的对象锁的个数,默认值是64。数据库在启动以后创建的共享锁表最大可以保存max_locks_per_transaction * (max_connections + max_prepared_transactions)个对象锁。每个锁空间需预留270个字节的共享内存。单个事务可以同时获得的对象锁的数目可以超过max_locks_per_transaction的值,只要共享锁表中还有剩余空间。

²  max_connections (integer) :这个参数只有在启动数据库时,才能被设置。它决定数据库可以同时建立的最大的客户端连接的数目。默认值是100。每个连接占用 400字节共享内存。Note:  Increasing max_connections costs ~400 bytes of shared memory per  connection slot, plus lock space (see max_locks_per_transaction).

²  用户将 max_locks_per_transaction 值设置 为 215927809,导致系统启动时要求分配  215927809 * 270 * 1000 (max_connections)= 54TB 的内存空间,数据库启动失败

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
L
lucky

²  max_locks_per_transaction :这个参数控制每个事务能够得到的平均的对象锁的个数,默认值是64。数据库在启动以后创建的共享锁表最大可以保存max_locks_per_transaction * (max_connections + max_prepared_transactions)个对象锁。每个锁空间需预留270个字节的共享内存。单个事务可以同时获得的对象锁的数目可以超过max_locks_per_transaction的值,只要共享锁表中还有剩余空间。

²  max_connections (integer) :这个参数只有在启动数据库时,才能被设置。它决定数据库可以同时建立的最大的客户端连接的数目。默认值是100。每个连接占用 400字节共享内存。Note:  Increasing max_connections costs ~400 bytes of shared memory per  connection slot, plus lock space (see max_locks_per_transaction).


²  用户将 max_locks_per_transaction 值设置 为 215927809,导致系统启动时要求分配  215927809 * 270 * 1000 (max_connections)= 54TB 的内存空间,数据库启动失败

暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏