我们正在使用memsql进行实时分析。我们创建了Kafka连接器,该连接器一直在Kafka中使用,并推送到memsql。一段时间后,由于内存问题,memsql崩溃了。
有什么方法可以监视memsql消耗多少内存以及它如何自动扩展。
答案 0 :(得分:0)
(通过您的“ 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中运行的所有进程的峰值内存使用情况(即,初始进程由容器的ENTRYPOINT启动,以及它可能已经运行的任何子进程)。
答案 1 :(得分:0)
如果要检查运行memsql节点的内存量,请执行以下操作:
select * from information_schema.mv_nodes
这里有有关memsql如何使用内存的更多详细信息:
https://help.memsql.com/hc/en-us/articles/115001091386-What-Is-Using-Memory-on-My-Leaves-