【问题标题】:clickhouse-client : very high memory usageclickhouse-client :非常高的内存使用率
【发布时间】:2023-03-31 06:45:01
【问题描述】:

我已经在 wsl2 上运行的 clickhouse-server 上加载了准时数据集。在服务器端一切正常,但突然 clickhouse-client 开始占用巨大的内存,这在给定的 htop 输出中很明显。

这发生在执行一个简单的 group by 查询时,

select year,count(1) from datasets.ontime group by year

我不得不关闭 wsl 才能从中恢复。

如果我做错了什么,请告诉我!

注意:我已将ontime数据集的分区指令更改为YEAR和ORIGINSTATE 即:PARTITION BY (Year,OriginState)

Clickhouse 版本:21.4.5.46(正式版)

客户端+服务器的htop输出

【问题讨论】:

  • 对我来说 ClickHouse 客户端版本 21.4.6.55(官方版本):突然客户端冻结或任何查询被系统杀死。它仅适用于 --query 参数。
  • 可能是因为clickhouse-client 尝试分配更多内存来缓冲SELECT 的结果。为了确保 - 尝试一些 sophisticated 查询,其连接会产生小输出。没关系 - 内部 clickhouse 相当有效地处理数据。

标签: clickhouse


【解决方案1】:

Clickhouse 专为 64GB+ RAM(期间)的服务器而设计。

【讨论】:

  • 对.. 但这是客户,它正在接受这么多。相反,clickhouse-server 在 VIRT 中占用大约 6G,在常驻内存中占用 700MB。
  • 我错过了它是一个客户。中文版?
  • 21.4.5.46(正式版)
  • 一个有趣的观察,如果我使用 --query 参数,它工作得很好。所以看起来clickhouse-client的“SQL控制台”模式与WSL有一些问题(可能!)
【解决方案2】:

clickhouse-client 在客户端尝试 AST 解析和重写查询 此外,它会尝试接收所有元数据以进行自动完成 ALTER TABLE ontime 后你有多少分区?

【讨论】:

  • 好的,但是如果我使用 --query 参数就不会发生这种情况。
【解决方案3】:

尝试清理客户端历史文件:.clickhouse-client-history

~/.clickhouse-client-history

由于某种原因,clichouse-client 将 clickhouse-client-history 文件加载到内存中,在我的情况下几乎是 5Gb 的 RAM。 (ClickHouse 客户端版本 21.7.4.18)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-25
    相关资源
    最近更新 更多