我最近将虚拟机升级到了Redhat 5,并将Sphinx Search移到了该服务器上。 由于某些原因,当我尝试启动Sphinx时,启动脚本无法将searchd进程推到后台。 我使用最小版本的启动调用创build了一个testing脚本,如下所示:
#!/bin/sh . /etc/rc.d/init.d/functions daemon /usr/local/sphinx/bin/searchd --config /home/app/code/server_config/sphinx_config.php
searchd进程开始,我得到的输出表明它正在侦听正确的IP:端口,但是这个进程永远不会返回。
挂起的过程在守护进程调用中,ps显示为:
/bin/bash -c ulimit -S -c 0 >/dev/null 2>&1 ; /usr/local/sphinx/bin/searchd --config /home/app/code/server_config/sphinx_config.php
任何想法可能会导致这种情况或如何排除故障? 我们在运行Redhat 4的其他十几台服务器上使用相同的进程,虽然由守护进程创build的进程使用initlog,所以它是不同的。
事实certificateinit脚本没有什么问题,但是sphinx searchd花了很长时间才开始。 在虚拟机上分配的内存不足,因此在启动大型索引时出现问题。 增加内存分配,现在工作正常。