Python 每个jupyter笔记本是否使用线程或进程
当我运行命令时 jupyter笔记本 从bashshell启动本地主机上的jupyter笔记本服务器。每次我打开一个新笔记本并开始执行代码时,这是一个单独内核上的新进程还是同一内核上的新线程?假设我在一台有M个内核的机器上运行N个不同的独立笔记本,这些笔记本都是CPU密集型的Python 每个jupyter笔记本是否使用线程或进程,python,jupyter-notebook,Python,Jupyter Notebook,当我运行命令时 jupyter笔记本 从bashshell启动本地主机上的jupyter笔记本服务器。每次我打开一个新笔记本并开始执行代码时,这是一个单独内核上的新进程还是同一内核上的新线程?假设我在一台有M个内核的机器上运行N个不同的独立笔记本,这些笔记本都是CPU密集型的 如果它们都从同一个内核(同一个进程)运行,并且有不同的线程,那么其余的内核基本上是空闲的吗 如果它们是从不同的内核运行的,那么这是否意味着我只能同时运行M台笔记本 或者可能两者兼而有之:ipython内核负责启动超出我手动
从阅读文档、bug报告和自己使用中可以看出,每个
jupyter notebook
命令都启动自己的工作进程,这就是可以直接运行的范围。它还可以将长时间运行的作业发送到单独的工作任务,使用或使用。我在我的笔记本电脑上做了一个实验,它有2个内核,最多4个线程。我在2-5台相同的笔记本电脑之间运行,每台笔记本电脑都从1-100万亿增加了一个数字。每个笔记本都花了几分钟完成执行
在windows任务管理器中,每个笔记本都被视为自己的进程。不超过4台笔记本电脑可以同时运行,每台笔记本电脑占用单个CPU的20-25%。第五个笔记本实际上必须等到其他笔记本完成后才能开始执行
所以我要回答我自己的问题
这篇文章实际上有几个问题。你帖子中的每个“?”都是一个不同的问题。但一般来说,一篇好的帖子只关注一个问题。您可以编辑以关注“一台有N核的机器上可以运行多少台ipython jupyter笔记本?”或类似的内容。调查您自己的问题的一种方法是,有一些系统工具,如适用于Linux的
top
,以及适用于Windows的task manager,允许您观察正在运行的进程。当你运行更多的笔记本电脑时,你是否尝试过使用这些工具,如果是,你的观察结果是什么?