Mar*_*kus 8 python ipython jupyter jupyter-notebook jupyter-lab
我被迫在我自己不托管的 Linux 服务器上使用 JupyterLab。问题是 Jupyter 进程占用大量内存;这已成为多个错误报告的一部分,例如此处和此处。
无论如何,正如从介绍中可以预见的那样,我没有任何 sudo 权限,因此无法自己重新启动实验室(至少我认为这对我来说是不可能的)。
我认为奇怪的地方可以从 HTOP 的屏幕截图中看出:
启动实验室的 bash 命令有很多子进程,它们看起来都像我在整个使用时间内打开和关闭的内核(服务器运行了一个月,我打开和关闭了很多内核;在使用时没有一个运行)图片)。
由于每个进程都以 结束.json,我假设这些可能是一些仍然完整的运行时参数。第三层的所有进程看起来都与屏幕截图上的相同,没有其他任何东西。
无论如何,我不想解决内存溢出错误。我的问题很简单:
由于没有内核正在运行:我可以杀死第三层的所有进程并通过这样做释放内存吗?或者这可能会导致实验室崩溃?
不让实验室崩溃是至关重要的,因为我无法重新启动实验室。
幸运的是,我在这里偶然发现了这个网站。在这里,作者有一个与未释放的 GPU 内存以及大量ipykernel_launchers.
他用所提出的激进方法解决了这个问题。
ipykernel_launchers内容ps -aux|grep ipykernel_launcher(类似于问题中的 HTOP 屏幕截图)。kill -9 PID1 PID2 ...。确保仅以以下方式杀死所有内容(仅此而已):
/usr/bin/python3 -m ipykernel_launcher -f /content/.local/share/jupyter/runtime/kernel-95cb65b9-23eb-4f87-801b-d995ca30fc32.json
编辑:
感谢Unix&Linux-StackExchange 上的@EightBitTony我现在知道有一个命令可以一步杀死所有进程:
for pid in $(ps -ef | grep -v "awk" | awk '/ipykernel_launcher/ {print $2}'); do kill -9 $pid; done
Run Code Online (Sandbox Code Playgroud)
当你这样做时请注意你在做什么!
| 归档时间: |
|
| 查看次数: |
3949 次 |
| 最近记录: |