在Linux的C/C++中,我需要分配一个大块(几个GB)的内存,以存储通过以太网端口连接并以约110MB/s流式传输数据的传感器实时数据。我想尽可能地分配最大量的内存,以最大化可以存储的数据序列的长度。但是,我还需要确保不会发生磁盘交换,因为磁盘访问的延迟和带宽受限会导致传感器(非常有限的)缓冲区溢出。
如何确定分配多少内存是最好的方式?我只能分配比报告的可用内存略小的块,还是可以更直接地与Linux虚拟内存管理器进行交互?
如何确定分配多少内存是最好的方式?我只能分配比报告的可用内存略小的块,还是可以更直接地与Linux虚拟内存管理器进行交互?