我们使用memsql进行实时分析。我们已经创建了Kafka连接器,它不断地从Kafka消费并推送到memsql。过了一段时间后,memsql由于内存问题而崩溃。
有没有办法监控memsql消耗了多少内存以及它是如何自动伸缩的。
发布于 2018-08-01 02:47:30
(根据您的'docker‘标记,我猜您是在容器中运行'memsql’)
假设您有权访问运行'memsql‘容器的主机,并且知道要监视的容器,则可以从主机上内核的cgroups统计信息中获得内存使用信息。
您可以在Docker主机系统上运行以下命令:
container="your_container_name_or_ID"
set -- `docker inspect $container --format "{{.Id}} {{.HostConfig.CgroupParent}}"`
id="$1"
cg="$2"
if [ -z "$cg" ] ; then
cg=/docker
fi
cat /sys/fs/cgroup/memory${cg}/${id}/memory.max_usage_in_bytes这将打印在容器的cgroup中运行的所有进程(即,由容器的入口点启动的初始进程以及它可能已经运行的所有子进程)的内存使用峰值。
发布于 2018-08-01 03:33:59
如果您想要检查memsql节点使用了多少内存,请运行:
select * from information_schema.mv_nodes这里有更多关于memsql如何使用内存的细节:
https://help.memsql.com/hc/en-us/articles/115001091386-What-Is-Using-Memory-on-My-Leaves-
https://stackoverflow.com/questions/51618833
复制相似问题