我的问题是:我正在从事数据科学项目,并有一些代码执行数据分析和处理。如果我将过多的数据块一次处理,则进程开始消耗太多内存(但不是CPU)而Windows只是挂起。除了按下电源按钮强制它关闭之外我什么也做不了。
这是我操作系统设置中的问题还是通常的行为?
如果这是常见的,有没有办法自动杀死占用过多内存的进程?
1
当然是
—
摩押
点击上面评论中的蓝色“肯定是”链接。
—
摩押
这是通常的行为。如果您正在对大数据进行数据分析,则应在设计分析/代码时考虑内存限制。对于太大而无法容纳在主内存中的数据集,您应该考虑使用将数据流分发到其他计算机的算法/程序/服务,或者至少以可以在具有较小块的一个节点中工作的方式处理数据的方法而不是整个数据集。请参阅MapReduce和Hadoop之类的实现。
—
Excellll 2015年
我的程序确实按块处理数据块,但我怎么知道最大值。在运行代码之前允许块大小?现在我使用盲目猜测,任何时候我猜错了我必须重置PC。
—
Serhiy 2015年