我使用的一些代码创建比RAM大的矩阵。我的第一个想法是通过修改当前矩阵以使用pytables来选择pytable。但是进行编码会很痛苦(我使用的代码是开源的,通过跟踪矩阵的每次使用以及其他相关的编码原因进行修改是一件非常痛苦的事情(。但是做了一些研究,我发现了一些材料,说python实际上使用虚拟内存。因此,如果我有一个非常大的虚拟内存,比如 1TB,那么我的程序就不必担心出现"内存不足错误"。顺便说一下,我正在使用 ubuntu。我担心的是,使用非常巨大的虚拟内存来解决我的问题比使用pytables慢吗?我正在使用 python2.7
操作系统实现虚拟内存。虚拟内存系统上的所有内容都使用虚拟内存。
虚拟内存将允许程序访问比可用更多的物理内存,但存在限制:
- 进程虚拟地址范围
- 系统参数
- 进程配额
- 页面文件空间
有了足够大的矩阵,你可以超过其中任何一个。