# @enfyra/kernel 中文文档

规范地址：https://npmcn.com/package/%40enfyra/kernel/

版本：2\.1\.6
npm 元数据更新时间：2026-11-04T03:28:38.814Z
中文译文更新时间：2026-11-13T22:31:28.500Z
软件包许可：Elastic-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40enfyra/kernel
原文对照：https://npmcn.com/package/%40enfyra/kernel/?lang=original

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：764 kB，9 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：5 个
- 首次发布：2026-04-30T01:34:00.213Z
- 最新版本发布：2026-11-04T03:28:38.621Z
- 近 30 天下载量：3016（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：110（近 12 个月 110 个）

## 中文简介

Enfyra 内核运行时间

## 安装

```sh
npm install @enfyra/kernel
```

也可以使用：`pnpm add @enfyra/kernel`、`yarn add @enfyra/kernel`、`bun add @enfyra/kernel`

## README

# @enfyra/ 内核

Enfyra内核运行时包.

## 动态背景

孤立的执行器快照可复制 `$ctx` 自动键入沙盒。 运行时平台可以在不改变内核的情况下从自己的上下文厂中暴露出新的数据字段,同时保护运行时能力,例如 `$helpers`, (中文(简体) ), `$cache`, (中文(简体) ), `$repos`, (中文(简体) ), `$socket`, (中文(简体) ), `$throw`, (中文(简体) ), `$trigger`, (中文(简体) ), `$logs`, (中文(简体) ), `$req`,以及 `$res` 保持内核管理. `$env` 当主机应用程序提供时, 沙盒内可读取, 但沙盒变异到 `$env` 不合并为主机上下文.

## 使用

```ts
import { createEnfyraKernel } from '@enfyra/kernel';

const kernel = createEnfyraKernel({
  knexService,
  mongoService,
  databaseConfigService,
  runtimeMetricsCollectorService,
  lazyRef,
  getPackageCacheService: () => packageCacheService,
  getPackageCdnLoaderService: () => packageCdnLoaderService,
});

container.register({
  queryBuilderService: asValue(kernel.queryBuilderService),
  isolatedExecutorService: asValue(kernel.isolatedExecutorService),
  executorEngineService: asValue(kernel.executorEngineService),
});
```

## 执行者能力

每个运行程序执行多个独立任务拥有 `ivm.Isolate` 实例,最多 `isolatesPerWorker`。每次执行都会形成自己的孤立 上下文直接显示在发送时,没有闲置的隔离储备池。 完成 或取消只处理此任务的隔离; 其他 任务在工人持续运行。 一批的钩子和处理器 分享该批的 隔离 没有共享道或多任务堆积.

使用有效的 CPU 和容器选择最多两个运行程序 记忆。 接纳能力和隔离堆积的限制是独立的政策. 招生使用25%的内存规划预算,40–128 MiB规划单元,CPU 基线/灵活单位计数,每个单位6个独立执行档. 这是能力算术,不是共享隔离或通道:每个被认可的任务 仍然拥有它的隔离。 2个基B以下,每名跑者使用一个单元 剖面图为每跑者128个单元。 14个 CPU / 36 GiB 简介 允许 每名工人有216个任务隔离,或总共432个.

每个隔离点的原生堆积极限是有效内存除以32,并有一个 40 MiB 最低且没有固定的 MB 上限. 限制不是预先分配的内存,而且 它们的总和可能超过物理记忆。 父母采用RSS后压; 运行, packet- child, IPC 和主机内存仍然处于隔离堆积限制之外. 大型同时进行的任务仍然可以耗尽真实的内存,因此基准 目标硬件的预期有效载荷和货币.

`computeEngineTuning({ logicalCpuCount, totalMemoryBytes, maxIsolatesPerWorker })` 能够降低每个工人拥有主机配置的能力。 自定义执行器 `tuning` 包含 `maxConcurrentWorkers`, (中文(简体) ), `isolatesPerWorker`,以及 `isolateMemoryLimitMb`。排队任务仅在前期任务解除后开始 隔离能力. `$body` 和准确的 `$req.rawBody` 继续提供.

运行 `yarn test:executor-isolates` 能力与故障控制。 从不 在模糊隔离或跑道丢失后自动重放任务.

## 常见问题

### @enfyra/kernel 是什么？

Enfyra 内核运行时间

### 如何安装 @enfyra/kernel？

在项目目录运行 npm install @enfyra/kernel，或使用 pnpm add / yarn add / bun add。

### @enfyra/kernel 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @enfyra/kernel 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @enfyra/kernel 可以商用吗？

@enfyra/kernel 使用 Elastic-2\.0 许可。声明的许可为 Elastic-2\.0，请阅读许可原文确认使用条件。以上为概括，不构成法律意见，请以许可原文为准。

### @enfyra/kernel 的下载量有多少？

根据 npm 官方下载统计，@enfyra/kernel 在 2026/10/14 – 2026/11/12 这 30 天内被下载 3,016 次，日均约 101 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @enfyra/kernel 还在维护吗？

最新版本 2\.1\.6 发布于 2026/11/04（9 天前）；至今共发布 110 个版本，其中过去 12 个月发布了 110 个；首次发布于 2026/04/30。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

