2
ノートブック内のジュピターノートブックのCPU優先度を低く設定する方法はありますか?例えば。コンピューティングサーバ上で長時間のパラメータ検索を実行しているときに、他の人がリアルタイムで作業しているノートブックの中でそのノートブック内で優先順位を設定します。jupyter/ipythonノートブック内の優先度/ nicenessを設定する
ノートブック内のジュピターノートブックのCPU優先度を低く設定する方法はありますか?例えば。コンピューティングサーバ上で長時間のパラメータ検索を実行しているときに、他の人がリアルタイムで作業しているノートブックの中でそのノートブック内で優先順位を設定します。jupyter/ipythonノートブック内の優先度/ nicenessを設定する
私はあなたが特定のノートブックを抹消する方法には気づいていない)サーバー全体を改ざんすることができると思います。
---------------------------------------------------------------
!for pid in `pgrep -f jupyter`; do { renice -20 $pid; }; done
---------------------------------------------------------------
9721 (process ID) old priority 19, new priority -20
12449 (process ID) old priority 19, new priority -20
25502 (process ID) old priority 19, new priority -20
それとも、あなたはPythonでそれをしたい場合は、最初のサーバーを実行しているのリストを取得:
>>> from notebook import notebookapp
>>> servers = list(notebookapp.list_running_servers())
>>> servers
[{'url': 'http://localhost:8888/',
'base_url': '/',
'token': '5ea29b3...7e1fba5331ae',
'secure': False,
'pid': 9721,
'hostname': 'localhost',
'password': False,
'port': 8888,
'notebook_dir': '/home/paulos/work'
}]
他のノートブックは、個別のノートブックサーバプロセス上で実行している場合は、サブシェルからそれを行うことができます
必要に応じて、必要なもののリストをフィルタリングします。
pids = [_['pid'] for _ in servers if meets_condition(_)]
次に呼び出すのsetpriority:
>>> from ctypes import cdll
>>> libc = cdll.LoadLibrary("libc.so.6")
>>> pids = [_['pid'] for _ in servers]
>>> for pid in pids:
print("old priority for PID", pid, "is", libc.getpriority(0, pid))
libc.setpriority(0, pid, 20)
print("new priority for PID", pid, "is", libc.getpriority(0, pid))
old priority for PID 9721 is 0
new priority for PID 9721 is 19