0

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

在此处输入图像描述

4

1 回答 1

1

您无需担心虚拟内存的使用情况,保留内存在这里(RES专栏)更为重要。

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

因此,当您设置了多个用户时,您应该学习他们设置适当的驱动程序内存(处理所需的最低限度)并在完成工作后关闭笔记本电脑。

于 2017-10-21T10:34:20.693 回答