系统有 32 GB 内存,但最大使用量可达 6 GB

系统有 32 GB 内存,但最大使用量可达 6 GB

我使用的是 Ubuntu 16.04(64 位),系统有 32 GB RAM。当我在其上运行 Python(64 位)程序时,出现“MemoryError”。

输出为free -m

         total        used        free   shared  buff/cache   available
Mem:     31964        5660       23992       61        2311       25805
Swap:     2047           0        2047

我正在使用包含 50 万条记录的 csv 文件运行遗传编程算法进行特征选择。我想使用整个系统内存。当我打开包含 11+ 条记录的 csv 文件时,它不会显示使用超过 6 GB 的内存。

答案1

您看到的内存使用情况与分配给 Ubuntu 的系统资源一致,因此我预计问题出在 Python 本身:内存碎片和垃圾清理没有发生,或者在 Python 配置中设置了内存限制。

由于这现在已变得更为与编程相关堆栈溢出问题,我会把它放在那里,而不是提到从操作系统的角度来看,你应该能够分配全部内存

相关内容