随笔 - 936  文章 - 0  评论 - 3  阅读 - 30万

国标GB28181协议视频智能分析告警平台EasyGBS在Linux下virtual memory exhausted报错问题解决

TSINGSEE青犀视频开发团队开发的国标GB28181协议视频直播平台EasyGBS除了有linux版本和windows版本外,我们还编译了arm版本,在使用arm版EasyGBS测试并发播放时,发现有时Nginx内存比较高,gdb dump内存时出现提示virtual memory exhausted。

具体报错如下:/build/gdb-qBHmzF/gdb-8.1.1/gdb/utils.c:778: internal-error: virtual memory exhausted: can’t allocate 391581696 bytes.

该报错下Log显示内存耗尽,无法分配足够的空间。通过命令可以看到内存不足以分配 391581696 bytes

在Linux下可以通过扩展swap空间来解决此问题。

swap的功能:在应付物理内存不足的情况下所造成的内存扩展记录的功能。物理内存不足的时候,swap使用硬盘来暂时放置内存中的信息。

使用文件构建swap方法如下:

1.在root权限下,创建一个大小为1G的文件 /swap

2.将/swap 作为swap空间

3.使用swapon 将/swap启动

4.此时查看内存会发现swap空间可用

当swap空间设置完成后,在使用gdb dump memory 成功

在当前目录下成功生成了memory.dump文件

拓展:

TSINGSEE青犀视频开发团队开发了配合EasyGBS平台使用的国标GB28181协议推流平台EasyGBD。国标EasyGBD通过国标GB28181协议进行视频流媒体传输,在使用手机等移动设备进行执法或者户外监控的时候,能够实现户外移动监控的网页无插件直播。EasyGBD在TSINGSEE青犀视频官方网站内下载使用,如有疑问,欢迎联系咨询。

posted on   EasyGBS  阅读(152)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· 地球OL攻略 —— 某应届生求职总结
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示