---
title: 解决htcondor在鲲鹏920上启动服务失败
description: "问题描述："
url: https://www.hikunpeng.com/document/detail/zh/kunpenghpcs/hpcindapp/instg-osc/kunpenghtcondor_020.html
sourcePath: /source/zh/kunpenghpcs/hpcindapp/instg-osc/kunpenghtcondor_020.html
indexId: 5ba69f3512c5262cd31061fdc02acaa0ca56f60a4f8b531937d28630cbfeafa467
---
# 解决htcondor在鲲鹏920上启动服务失败

问题描述：

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

问题处理：

1. 执行以下命令编辑“daemon_core.cpp”文件。

  a. 打开“daemon_core.cpp”文件。

```
vi condor-8.9.2/src/condor_daemon_core.V6/daemon_core.cpp
```


  b. 按“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);
```


  c. 按“Esc”键，输入:wq!，按“Enter”保存并退出编辑。
