1.異常信息
<Error> ConfigReloader: void DB::ConfigReloader::run(): Code: 241, e.displayText() = DB::Exception: Memory limi t (total) exceeded: would use 19.24 GiB (attempt to allocate chunk of 5242880 bytes), maximum: 18.63 GiB, Stack trace (when copying this message, alway s include the lines below):
0. Poco::Exception::Exception(std::1::basic_string<char, std::1::char_traits<char>, std::__1::allocator<char> > const&, int) @ 0x18e02790 in /usr/b in/clickhouse
1. DB::Exception::Exception(std::1::basic_string<char, std::1::char_traits<char>, std::__1::allocator<char> > const&, int) @ 0xe72fdad in /usr/bin/ clickhouse
2. ? @ 0xe71dee0 in /usr/bin/clickhouse
3. MemoryTracker::alloc(long) @ 0xe71c798 in /usr/bin/clickhouse
4. operator new[](unsigned%20long) @ 0xe71af6c in /usr/bin/clickhouse
5. Poco::XML::NamePool::NamePool(unsigned long) @ 0x18d84fca in /usr/bin/clickhouse
2.解決
1.config.xml
修改每個節(jié)點上的config.xml配置文件里的服務(wù)器使用最大RAM量
<max_server_memory_usage>xxx</max_server_memory_usage>
2.users.xml
修改每個節(jié)點上的users.xml配置文件里的恃轩,用于在單個服務(wù)器上運行查詢的最大RAM量
<max_memory_usage>xxx</max_memory_usage>
3.擴展
1.max_memory_usage
含義:用于在單個服務(wù)器上運行查詢的最大RAM量
默認(rèn)值: 10G
內(nèi)存的使用也受限于這兩個參數(shù)
1)max_memory_usage_for_user
用于在單個服務(wù)器上運行用戶查詢的最大RAM量
默認(rèn)值定義在 Settings.h (https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.h)
默認(rèn)值是0哥放, max_memory_usage_for_user = 0 表示不受限
2)max_server_memory_usage
詳見 2
2.max_server_memory_usage
含義:限制ClickHouse服務(wù)器節(jié)點的總RAM使用量
默認(rèn)值: 0 默認(rèn)情況下的計算公式如下:
max_server_memory_usage = memory_amount(內(nèi)存總量) * max_server_memory_usage_to_ram_ratio(占比分?jǐn)?shù)值)
3.max_server_memory_usage_to_ram_ratio
含義:定義可用于Clickhouse服務(wù)器的總物理RAM量的一部分蔗坯。如果想要服務(wù)器利用更多資源(限制ck應(yīng)用在內(nèi)存占用)贰军,則會將內(nèi)存減少到適當(dāng)?shù)臄?shù)量
默認(rèn)值:0 表示Clickhouse服務(wù)器可以使用所有可用的RAM
官方建議:
在具有低RAM和交換容量的主機上,可能需要將max_server_memory_usage_to_ram_ratio設(shè)置為大于1
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者