匿名用户金仓数据库中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条回答
默认
最新
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏

评论
