我想根据可用的内存分配我的缓冲区.这样,当我进行处理和内存使用量增加时,仍然保持可用的内存限制.有没有办法获得可用的内存(我不知道虚拟或物理内存状态会有什么不同?).方法必须是平台独立的,因为它将用于Windows,OS X,Linux和AIX.(如果可能的话,我还想为我的应用程序分配一些可用的内存,在执行期间它没有改变的人).
编辑:我用可配置的内存分配做到了.我理解这不是一个好主意,因为大多数操作系统为我们管理内存,但我的应用程序是一个ETL框架(打算在服务器上使用,但也在桌面上用作Adobe indesign的插件).因此,我正在运行以发布因为而不是使用交换,Windows将返回错误的alloc,其他应用程序开始失败.当我被教导避免崩溃等等时,只是试图优雅地降级.
我100 servers在我的集群中.
当时17:35:00,所有100 servers都提供了数据(大小1[MB]).每个服务器处理数据,并产生约的输出40[MB].每台服务器的处理时间是5[sec].
在time 17:35:05(5[sec] later),需要一台中央机器来读取所有输出100 servers(记住,数据的总大小是:100 [机器] x 40 [MB] ~4 [GB]),聚合它,并产生一个输出.
这是非常重要的是整个过程gathering the 4[GB] data的所有100 servers花费尽可能少的时间尽可能.我该如何解决这个问题?
是否有任何python可以提供帮助的现有工具(理想情况下,但会考虑其他解决方案)?