我正在JupyterHub创建的在Kubernetes上运行的容器中的Jupyter(实验室)中运行进程。
这些过程过于占用内存,以至于有时由于OOM而导致容器被逐出。
在不修改我的代码/算法等的情况下,通常如何在达到预定义的RAM限制时告诉Jupyter(Lab)使用交换空间/虚拟内存?
PS这个问题没有提及交换空间的答案-Jupyter Lab freezes the computer when out of RAM - how to prevent it?

最佳答案

您不能主动控制交换空间。
特别是在Kubernetes中,您只是不为Kubernetes容器提供内存限制。
至少不会因为OOM(内存不足)而杀死它。但是,我怀疑这样做是否会奏效,因为这会使整个节点退出RAM,然后进行交换并变得非常慢,从而在某个时候被Kubernetes主机声明为已死。这又将导致Pod在其他地方运行并重新开始。
对您来说,更可扩展的方法可能是使用可以直接在磁盘上运行的核心算法(因此只需将PV / PVC附加到您的Pod),但这取决于您使用的算法或过程。

关于python - 如何在Jupyter实验室/笔记本中使用交换空间/虚拟RAM?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/63789051/

10-15 20:59