nebula-storged服务内存持续增长

  • nebula 版本:v2.5.0
  • 部署方式:分布式
  • 安装方式:源码编译
  • 是否为线上版本:Y
  • 硬件信息
    Architecture: x86_64
    CPU op-mode(s): 32-bit, 64-bit
    Byte Order: Little Endian
    CPU(s): 8
    On-line CPU(s) list: 0-7
    Thread(s) per core: 1
    Core(s) per socket: 1
    Socket(s): 8
    NUMA node(s): 1
    Vendor ID: GenuineIntel
    CPU family: 6
    Model: 85
    Model name: Intel Xeon Processor (Skylake, IBRS)
    Stepping: 4
    CPU MHz: 2194.842
    BogoMIPS: 4389.68
    Hypervisor vendor: KVM
    Virtualization type: full
    L1d cache: 32K
    L1i cache: 32K
    L2 cache: 4096K
    L3 cache: 16384K
    NUMA node0 CPU(s): 0-7
  • 问题的具体描述
    1、我们公司集群使用场景,每天早7-8点使用exchange批量写入集群,提供外部查询,每天数据量3亿条边,
    2、经过几个月时间的使用,发现storged服务内存每日写入之后无法释放,常驻内存没填升高3%左右,最近已经达到94%
    3、我想问一下,这是什么原因导致的,如何配置才能让内存能够保持平稳
    4、我门在配置里max_write_buffer_number_to_maintain 配置的 1,是否会影响到storaged释放内存
  • 相关的 meta / storage / graph info 日志信息(尽量使用文本形式方便检索)

配置文件如下

#######
--daemonize=tru
--pid_file=pids/nebula-storaged.pi
--local_config=true

#######
--log_dir=/mnt/log
--minloglevel=
--v=
--logbufsecs=
--redirect_stdout=tru
--stdout_log_file=storaged-stdout.log
--stderr_log_file=storaged-stderr.lo
--stderrthreshold=2

#######
--meta_server_addrs=node1:9559,node2:9559,node3:955
--local_ip=node
--port=977
--ws_ip=0.0.0.
--ws_http_port=1977
--ws_h2_port=1978
--heartbeat_interval_secs=10

######
--raft_heartbeat_interval_secs=3
--raft_rpc_timeout_ms=500
--wal_ttl=1800
--clean_wal_interval_secs=600
#######
--data_path=/mnt/data/storage
--minimum_reserved_bytes=268435456
--rocksdb_batch_size=409
--rocksdb_block_cache=409
--engine_type=rocksdb
--rocksdb_compression=lz4
--rocksdb_compression_per_level=
--enable_rocksdb_statistics=false
--rocksdb_stats_level=kExceptHistogramOrTimers
--enable_rocksdb_prefix_filtering=false

###########
--rocksdb_disable_wal=tru
--rocksdb_db_options={"max_subcompactions": "10", "max_background_jobs" :"10","stats_dump_period_sec":"200", "write_thread_max_yield_usec":"600"
--rocksdb_column_family_options={"disable_auto_compactions": false, "write_buffer_size":"67108864","max_write_buffer_number":"4","max_bytes_for_level_base":"268435456","level0_file_num_compaction_trigger":"10","max_write_buffer_number":"4", "min_write_buffer_number_to_merge":"2", "max_write_buffer_number_to_maintain":"1"
--rocksdb_block_based_table_options={"block_size":"8192"}

这个问题,是因为批量加载的时候,一条wal包含的数据太大了。导致LogBuffer有点大,没有正确释放掉。 后面会fix

此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。