linux加载模块突然宕机重启
这个模块的作用是利用zookeeper来建立分布式锁,由于系统需要,我们都移植到了内核态下,单独的这个模块在加载的时候,突然就出现了宕机(次数也挺多,也有好的时候),然后过一段时间就重启了。查看日志,发现什么都没有,就直接restart了,请问这个该怎么得知我的程序哪里有错误呢?还是跟机器有关(有的机器挂掉的很频繁,有的很少)。而且挂掉的位置不固定,有时候在循环等待授予权限的时候挂掉,有时候直接在刚开始加载模块初始化zookeeper的时候挂掉,后者情况多一点。
模块初始化时的部分代码:
fl_lock_t *fl_lock = NULL;
int i;
printk("thread_init 1\n");
zoo_set_debug_level(ZOO_LOG_LEVEL_DEBUG);
printk("thread_init 2\n");
zoo_deterministic_conn_order(1); // enable deterministic order
printk("thread_init 3\n");
zh = zookeeper_init("192.168.2.77:2181", 0, 30000, &myid, 0, 0);
谢谢。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
嗯,请同学帮忙搞了一下,发现在另外一个机器上居然有错误提示。。原因是zookeeper本身有两个线程,但是在运行中无故就消失了一个。