【产品名称】oceanbase–obproxy
【产品版本】1.9.1.2
【问题描述】obproxy开机自启成功,正常使用过程中,drop tenant xxx force方式删除了一个租户,过了一段时间后,发现连接失败,检查后发现obproxy进程及守护进程均不存在,尝试手动启动守护进程成功,obproxy未能被守护进程拉起,手动启动obproxy失败报错:Segmentation fault,一段时间后,守护进程自动关闭。
【产品名称】oceanbase–obproxy
【产品版本】1.9.1.2
【问题描述】obproxy开机自启成功,正常使用过程中,drop tenant xxx force方式删除了一个租户,过了一段时间后,发现连接失败,检查后发现obproxy进程及守护进程均不存在,尝试手动启动守护进程成功,obproxy未能被守护进程拉起,手动启动obproxy失败报错:Segmentation fault,一段时间后,守护进程自动关闭。
1.当前部署架构
主机几台?
每台部署情况:
CPU: 几个
Memory:多少G,从free -h来看,当前主机内存较为紧张
observer几个
obproxy几个
2.查看每个observer内存
show parameters like 'memory_limit';
1.这是我的测试机,observer分配的是4C16G,部署的是1-1-1模式,observer和obproxy分别3个。
2.内存
MySQL [oceanbase]> show parameters like 'memory_limit';
+-------+----------+---------------+----------+--------------+-----------+-------+-------------------------------------------------------------------------------------+----------+---------+---------+-------------------+
| zone | svrtype | svrip | svrport | name | datatype | value | info | section | scope | source | edit_level |
+-------+----------+---------------+----------+--------------+-----------+-------+-------------------------------------------------------------------------------------+----------+---------+---------+-------------------+
| zone1 | observer | 192.168.8.211 | 2882 | memorylimit | NULL | 15G | the size of the memory reserved for internal use(for testing purpose). Range: [0M,) | OBSERVER | CLUSTER | DEFAULT | DYNAMICEFFECTIVE |
| zone2 | observer | 192.168.8.212 | 2882 | memorylimit | NULL | 15G | the size of the memory reserved for internal use(for testing purpose). Range: [0M,) | OBSERVER | CLUSTER | DEFAULT | DYNAMICEFFECTIVE |
+-------+----------+---------------+----------+--------------+-----------+-------+-------------------------------------------------------------------------------------+----------+---------+---------+-------------------+
由于需要测试,已通过重启OS解决问题,希望确认一下是什么原因引起的这个情况。
到 obproxy的安装目录下,有个 log 目录。里面有 obproxy.进程id.log 文件。
上传一下那个log 文件看看。
环境已经破坏了,暂时未能复现。
从当前资源来看:
主机4C16G,observer分配内存15G,obproxy占用约内存1-2G,系统一般建议保留至少10%约1.6G内存,系统运行一段时间,存在内存争用问题。
验证方法:
observer或obproxy异常时,df -h查看avalible,当值为数百M时,说明3者可能存在内存争用,此时进一步查看异常的observer或obproxy日志,是否有内存不足告警。