我希望按照可用内存来分配缓冲区。这样,当我进行处理时,内存使用量会增加,但仍然保持在可用内存限制范围内。是否有一种方法可以获取可用内存(我不知道虚拟内存或物理内存状态是否会有所不同?)该方法必须是平台无关的,因为它将在Windows、OS X、Linux和AIX上使用。(如果可能的话,我还想分配一些可用内存给我的应用程序,以便在执行期间不发生更改。)
编辑:我已经使用可配置的内存分配方式来解决了这个问题。我知道这不是一个好主意,因为大多数操作系统都会为我们管理内存,但我的应用程序是一个ETL框架(旨在在服务器上使用,但也作为Adobe Indesign插件在桌面上使用)。因此,我遇到了问题,因为Windows没有使用交换而返回错误代码,并导致其他应用程序开始失败。因此,由于我被教导要避免崩溃,因此只是试图优雅地降级。