查询数据量较大时经常产生大量core文件,修改服务器配置禁用core文件也并没有生效,基本上都是graphd和storaged产生的,下图是其中某一个core文件的,各个core文件不尽相同,目前测试下来稳定性不太好
- 禁用 core 的生成是 linux 本身的配置,你可以检查下配置是否正确
- 你的 nebula 的版本是什么版本?
是3.8.0
另外:
dmesg |grep nebula查看系统日志出现如下内容:
[1405163.262782] graph-netio0[32707]: segfault at 7f30e5a02310 ip 0000000002282b5d sp 00007f30e6af4410 error 4 in nebula-graphd[f4b000+1913000]
[1405211.167008] graph-netio5[42233]: segfault at 7f18fa402310 ip 0000000002282b5d sp 00007f18fb1f5410 error 4 in nebula-graphd[f4b000+1913000]
[1406874.155696] graph-netio3[26843]: segfault at 7f9f57e02310 ip 0000000002282b5d sp 00007f9f58bf5410 error 4 in nebula-graphd[f4b000+1913000]
在此期间查询的语句比较多,有些查询可能返回数据量或查询数据量很大,但是我想应该直接返回内存超限就行了,不要挂掉
集群是3台服务器,都是256G内存,48核
出现问题后查询任何sql都会报错:Storage Error E_RPC_FAILURE,必须重启
graph才行,其中–storage_client_timeout_ms=600000已经设置的足够大了,本人没接触过CPP,所以对某些问题定位有些困难,望见谅
机器配置多大?
memory tracker 配置了没
服务器都是256G内存,配置如下
graph:
–memory_tracker_limit_ratio=0.2
–memory_tracker_untracked_reserved_memory_mb=40960
storaged:
–memory_tracker_limit_ratio=0.8
–memory_tracker_untracked_reserved_memory_mb=40960
内存使用率不高:
I20241021 19:05:17.574353 8331 MemoryUtils.cpp:227] sys:152.121GiB/251.353GiB 60.52% usr:8.237GiB/169.082GiB 4.87%
I20241021 19:06:17.573436 8331 MemoryUtils.cpp:227] sys:152.510GiB/251.353GiB 60.68% usr:8.235GiB/169.082GiB 4.87%
I20241021 19:07:17.574901 8331 MemoryUtils.cpp:227] sys:152.148GiB/251.353GiB 60.53% usr:8.235GiB/169.082GiB 4.87%
I20241021 19:08:17.574018 8331 MemoryUtils.cpp:227] sys:152.108GiB/251.353GiB 60.52% usr:8.234GiB/169.082GiB 4.87%
推荐:
memory_tracker_limit_ratio 可以设置为 2
memory_tracker_untracked_reserved_memory_mb 可以设置为原内存的 5%
修改配置后还是会出现查询报错的情况:Storage Error: RPC failure, probably timeout.,必须重启graph或storaged解决,dmesg中有大量错误:
[1571739.480202] graph-netio13[2826]: segfault at 7fe859402310 ip 0000000002282b5d sp 00007fe85a1f5410 error 4 in nebula-graphd[f4b000+1913000]
[1572559.678033] IOThreadPool22[11510]: segfault at 7f5cf0005090 ip 00000000026a6afd sp 00007f5cf0ff5390 error 4 in nebula-storaged[1002000+1c8f000]
[1573612.752638] IOThreadPool19[47104]: segfault at 7f0b54205090 ip 00000000026a6afd sp 00007f0b54ff5390 error 4 in nebula-storaged[1002000+1c8f000]
[1641597.189952] graph-netio1[32271]: segfault at 7ffad9a02310 ip 0000000002282b5d sp 00007ffada7f5410 error 4 in nebula-graphd[f4b000+1913000]
另外,这几台服务器上有其他会占用内存的应用,不知道跟这个有没有关系
有很大关系