需要在Linux上用C / C ++编写一个应用程序,它从套接字接收字节流并处理它们。总字节数可能接近1TB。如果我有无限量的内存,我会把它全部放在内存中,这样我的应用程序就可以轻松处理数据了。在平坦的内存空间上做很多事情很容易,比如memmem(),memcmp()......在循环缓冲区中,应用程序必须非常聪明才能知道循环缓冲区。
我有大约8G的内存,但幸运的是,由于地方性,我的应用程序永远不需要从收到的最新数据返回超过1GB。有没有办法拥有1TB缓冲区,只有最新的1GB数据映射到物理内存?如果是的话,该怎么做?
有什么想法吗?感谢。