如何解决对于 Cockroach DB,获取 'Caused by: org.postgresql.util.PSQLException: ERROR: root: memory budget exceeded
在服务器上部署 CDB v20.2.5 后,一段时间后,我们开始频繁出现此错误:
org.springframework.orm.jpa.JpaSystemException: Could not extract ResultSet; nested exception is org.hibernate.exception.GenericJDBCException: Could not extract ResultSet
Caused by: org.hibernate.exception.GenericJDBCException: Could not extract ResultSet
Caused by: org.postgresql.util.PsqlException: ERROR: root: memory budget exceeded: 40960 bytes requested,984028160 currently allocated,984028160 bytes in budget
我猜,这里的“预算中的字节数”是指 CDB 的缓存,根据错误,因为它已满,无法处理新请求。
我的问题:
注意:这里的缓存是 CDB 推荐的主存的 0.25 倍
解决方法
缓存应该如何工作,理想情况下它应该替换任何新请求的数据
此错误不涉及任何特定缓存。它一般是指在其限制下运行的 SQL 模块,该限制由 --max-sql-memory 控制。您真的有“大”查询吗?
连接超时是否是这些错误的结果。?
我对此感到惊讶。我希望错误而不是超时。如果你能找到一个好的复制品,我们很乐意看一看。
本地 JDBC 查询是否会影响此问题,因为那里不存在休眠缓存。
不知道,抱歉。或者我不明白这个问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。