过多的内存使用pyspark

时间:2017-10-20 18:07:49

标签: memory pyspark jupyterhub

我已经设置了一个JupyterHub并为它配置了一个pyspark内核。当我打开一个pyspark笔记本(在用户名Jeroen下)时,会添加两个进程,一个Python进程和一个Java进程。为Java进程分配了12g虚拟内存(参见图像)。在1B号码范围内运行测试脚本时,它会增长到22g。当我们在具有多个用户的服务器上工作时,是否需要担心什么?如果是,我怎么能阻止Java分配这么多内存?

enter image description here

1 个答案:

答案 0 :(得分:1)

您无需担心虚拟内存使用情况,此处预留内存更为重要(RES列)。

您可以使用传递给spark的--driver-memory选项来控制JVM堆使用的大小(如果您在jupyterhub上使用pyspark内核,则可以在PYSPARK_SUBMIT_ARGS密钥下的环境中找到它)。这不完全是应用程序的内存限制(JVM上还有其他内存区域),但它非常接近。

因此,当您设置了多个用户时,您应该了解它们以设置适当的驱动程序内存(处理所需的最小值)并在完成工作后关闭笔记本。