我的情况如下 - (因为IP权利我不能分享技术细节)
很少有单独的嵌入式应用程序作为整个项目的一部分运行。 这些应用程序中的任何一个都可以占用最大9000 MB(9GB)的内存。 我正按照新要求升级一些应用程序。 每个应用程序中缓冲区长度为32767的表很少,并且使用15KHz频率传递给网络服务器进行计算。 我需要将它变为双倍,即65534,它将以30KHz的频率传递到网络。 问题出现在这里 - 其中一个应用程序占用8094 MB(8GB +),因此表缓冲区长度加倍超出应用程序的最大大小。 因此,应用程序输出不会出现(但没有崩溃)。
我的问题是你有没有克服这个问题,你能否分享一些想法如何在这种特殊情况下进行内存管理?所有这些程序都是用cpp,perl,c和python编写的(使用VxWorks,Linux,sunsolaris OS)。
我们非常感谢您的快速回复。 感谢
答案 0 :(得分:0)
这很模糊,但我会尽力回答:
如果您的程序由于任何原因需要更大的表,但不能占用更多内存,则必须更改某些内容以补偿这一点。
您没有提到为什么需要更大的表格:
你可以做的就是在RAM中进行一些压缩。这取决于数据的性质,但总的来说,这可能会对您有所帮助。