“mbuf”是内核IPC子系统中内存管理的基本单元。简单来说,“mbufs”是网络内存缓冲区;留出的部分RAM供网络使用,用于移动数据。
活动mbufs使用量显示在仪表板上,可以通过状态> Monitoring下的图表进行跟踪。如果防火墙用完了mbufs,它可能会导致内核崩溃并在某些网络负载下重新启动,从而耗尽所有可用的网络内存缓冲区。
在某些情况下,这种情况还可能导致预期的接口没有被初始化,导致操作系统无法使用。这在使用多个队列或以其他方式针对资源使用性能进行优化的NIC 中更为常见。此外,当防火墙使用限制器(管道)等某些功能时,mbuf的使用也会增加。
要调mbuf大小,可以在系统可调参数项卡,或使用/boot/loader.conf.local来增加mbufs。该数字可以根据需要进行调整,但注意不要超过可用内存。在8GB以上内存的64位系统上,可以将其设置为100万。
方法一
导航到系统>高级设置>系统可调参数选项卡。
如果kern.ipc.nmbclusters已经在列表中,点击“e”来编辑条目。
如果不存在,请单击“ ”创建新条目。
- 将Tunable字段设置为kern.ipc.nmbclusters
- 将值字段设置为1000000或所需数字。
- 单击保存
- 单击应用更改
该值将立即生效。
方法二
添加到loader.conf.local
使用shell中的文本编辑器或“诊断”>“编辑文件”创建或编辑/boot/loader.conf.local,添加以下行:
kern.ipc.nmbclusters="1000000"
修改的数值将在重新启动后生效。