守护进程是作为后台进程运行而不是在交互式用户的直接控制下运行的计算机程序。Hvigor守护进程是一个持续存在的后台进程,可以减少运行构建所需的时间。
Hvigor客户端发送Daemon构建信息,如命令行参数、工程目录和环境变量等,以便于运行构建。客户端和守护进程之间的通信通过本地套接字进行连接,正在运行的守护进程最多开启8个,状态为非停止或中断的守护进程最多开启6个。
Hvigor默认启用守护进程,您也可以通过以下几种方式来控制是否启用守护进程:
// 启用守护进程 hvigorw <task> --daemon // 关闭守护进程 hvigorw <task> --no-daemon
守护进程最大的老生代内存默认是8192MB,对绝大多数构建来说已经足够了。如果您想自定义守护进程最大的老生代内存,可以通过以下两种方式修改,建议您参考本地剩余内存进行调整设置,其中命令行方式优先级高于hvigor-config.json5配置文件。
hvigorw assembleHap --max-old-space-size=12345
守护进程新生代内存最大的半空间大小默认是16MB,通过设置最大的半空间大小,可以改变Node.js的垃圾收集频率,进而影响性能,同时也会改变消耗的内存大小。可以通过以下两种方式修改,其中命令行方式优先级高于hvigor-config.json5配置文件。
该功能从DevEco Studio 5.1.0 Release版本开始支持。
hvigorw assembleHap --max-semi-space-size=32
守护进程最大空闲时长默认是3小时,从最后一次构建任务完成开始计算,超过3小时则守护进程退出。从26.0.0版本开始,支持自定义守护进程最大空闲时长,可以通过以下两种方式修改,其中命令行方式优先级高于hvigor-config.json5配置文件。
hvigorw assembleHap -c properties.hvigor.daemon.idleTimeout=10800000
如果您想获取正在运行的守护进程及其状态的列表,可以使用以下命令查看:
hvigorw --status-daemon
> hvigor PID STATUS PORT ROOT_PATH > hvigor 11072 idle 45001 D:\Demo1 > hvigor 18836 stopped 45000 D:\Demo2
守护进程状态 | 状态描述 |
|---|---|
idle | 闲置 |
half_busy | 半忙碌 |
busy | 忙碌 |
canceled | 取消 |
stopReq | 停止请求 |
stopped | 停止 |
broken | 中断 |