首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在反复搜索引导设备后,如何避免"NBP太大而无法放入空闲的基本内存“?

在反复搜索引导设备后,如何避免"NBP太大而无法放入空闲的基本内存“?
EN

Server Fault用户
提问于 2021-03-02 10:16:50
回答 2查看 8.7K关注 0票数 0

我有一些服务器,可以反复尝试在启动时搜索引导设备(本地sata磁盘、usb棒、网络引导),直到一个可用为止。

我也有一个带有iPXE的网络引导设置。默认情况下,它检查机器的mac地址的自定义引导脚本并执行该脚本。如果没有,它就会退出。

这能工作一段时间。但在大约5分钟后,我开始得到"NBP太大,无法容纳到空闲的基本内存“,它不执行自定义脚本。相反,我认为它没有启动iPXE‘网络引导程序’。

这些系统的内存超过64 of。所以它不会用完系统内存。但是也许这张卡有一个非常小的可用范围,或者卡本身上的内存,每次它尝试引导时,它都必须使用新的内存。

在我看来,这就像是NIC固件中的内存泄漏。

我希望当NIC在启动时在NIC的OPROM屏幕上说“初始化”时,NIC会完全新初始化。我希望当它无法通过NIC引导时,nic使用的所有ram都会被释放。

如何防止此NBP错误发生?在ipxe中是否有命令来释放这个内存或强制完全重新初始化nic?

EN

回答 2

Server Fault用户

发布于 2021-07-13 17:47:57

它已经没有记忆了。我假设您在这里使用的是传统的pcbios,因为一切都指向这一点。在这个旧时代,我们实际上只有640 to的基本内存可用于初始程序。

现在耗尽的原因是,在旧的pcbios堆栈中,实际上没有干净的方法来退出和清理所有的东西。

最简单的“修复”方法是重新启动机器。也许可以改进一些东西,但为了进一步帮助,更详细的输出日志是首选的,以及您正在使用的iPXE二进制文件,以及从iPXE获得的完整错误消息(如果有的话)(其中将包含一个ipxe.org url --也可以阅读该页面)。

我记得有一个类似的问题正在讨论(可能是在iPXE论坛上),但那是很多年前的事了,而且还没有足够的记忆去找到它。(错误消息可能会有所帮助)

编辑:一些帮助你长寿的想法是:

  1. 如果您打算使用iPXE,请尝试使用较小的iPXE构建(许多功能可以禁用),这样当实际需要时,它可以在可用内存较少的情况下成功。(这不能解决问题,但会使问题在失败之前尝试更长的时间)
  2. 始终链接到iPXE,然后有一个循环的嵌入式脚本,如下所示:
代码语言:javascript
复制
#!ipxe
:retry
autoboot || goto :retry

这将永远在iPXE内部重试,而不会对每次尝试执行初始化(和占用内存)。

票数 1
EN

Server Fault用户

发布于 2023-03-13 06:24:23

将BIOS中的启动模式更改为UEFI以修复此问题。遗产可能没有足够的资源。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1055630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档