鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

解决htcondor在鲲鹏920上启动服务失败

问题描述:

HTCondor在鲲鹏920上启动服务失败。

问题处理:

  1. 执行以下命令编辑“daemon_core.cpp”文件。
    1. 打开“daemon_core.cpp”文件。
      vi condor-8.9.2/src/condor_daemon_core.V6/daemon_core.cpp
    2. 按“i”进入编辑模式,编辑第5856-5880行的内容。
      if( daemonCore->UseCloneToCreateProcesses() ) {
      dprintf(D_FULLDEBUG,"Create_Process: using fast clone() "
      "to create child process.\n");
      
      // The stack size must be big enough for everything that
      // happens in CreateProcessForkit::clone_fn().  In some
      // environments, some extra steps may need to be taken to
      // make a stack on the heap (to mark it as executable), so
      // we just do it using the parent's stack space and we use
      // CLONE_VFORK to ensure the child is done with the stack
      // before the parent throws it away.
      //const int stack_size = 16384;
      const int stack_size = 64*1024*2;
      //const int stack_size = 64*1024*16;
      char child_stack[stack_size]  ;
      
      // Beginning of stack is at end on all processors that run
      // Linux, except for HP PA.  Here we just detect at run-time
      // which way it goes.
      char *child_stack_ptr = child_stack;
      if( stack_direction() == STACK_GROWS_DOWN ) {
      child_stack_ptr += stack_size;
      }
      child_stack_ptr = (char *)((std::uintptr_t)child_stack_ptr & ~(std::uintptr_t)0<<4);
    3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。