这些设置可在 system.settings 中查看,并由 源文件 自动生成。
max_memory_usage
类型
UInt64
默认值
0
Cloud 默认值:取决于副本上的 RAM 大小。
在单台服务器上运行单个查询时可使用的最大 RAM 量。
值为 0 表示不受限制。
此设置不考虑可用内存容量,也不考虑机器上的总内存容量。 该限制仅适用于单台服务器上的单个查询。
你可以使用 SHOW PROCESSLIST 查看每个查询当前的内存占用。
系统会跟踪每个查询的峰值内存占用,并将其写入日志。
对于以下聚合函数中来自 String 和 Array 参数的状态,
内存占用无法被完全跟踪:
minmaxanyanyLastargMinargMax
内存占用还会受到参数 max_memory_usage_for_user
和 max_server_memory_usage 的限制。
max_memory_usage_for_user
类型
UInt64
默认值
0
在单台服务器上运行某个用户的查询时,允许使用的最大 RAM 量。零表示不受限制。
默认情况下,该值不受限制 (max_memory_usage_for_user = 0) 。
另请参见 max_memory_usage 的说明。
例如,如果要将名为 clickhouse_read 的用户的 max_memory_usage_for_user 设置为 1000 字节,可以使用以下语句
ALTER USER clickhouse_read SETTINGS max_memory_usage_for_user = 1000;你可以先退出客户端并重新登录,然后使用 getSetting 函数来验证是否已生效:
SELECT getSetting('max_memory_usage_for_user');