转
https://blog.csdn.net/zhangzhen02/article/details/121749942?spm=1001.2014.3001.5501
因为第一次加载完数据就占了75G内存。
不停查询遍历时,内存就会不停的累加,也不释放,直到oom
做了如下操作。
操作步骤:
1.首先将配置(influxdb.conf)中的索引类型进行修改
使以后的数据使用磁盘索引。如下:
[data]
# The type of shard index to use for new shards. The default is an in-memory index that is
# recreated at startup. A value of "tsi1" will use a disk based index that supports higher
# cardinality datasets.
//将#去掉,将值改为tsi1
index-version = "tsi1"
使用env GODEBUG=madvdontneed=1参数,强制每次释放内存时,将内存交给系统。如下
env GODEBUG=madvdontneed=1 /usr/bin/influxd -config /usr/bin/influxdb.conf
重启influx服务,再看RES占用,发现大幅下降,只有一百多M了,约等于HeapIdle+HeapInUse。