“watch”命令会给调度程序带来压力吗?

“watch”命令会给调度程序带来压力吗?

我在使用 SLURM 调度程序的计算集群上有一个帐户。我有一些作业在队列中,我正在使用“watch”命令来查看它们的状态:

watch squeue -u myUserName

不断运行此命令是否会给调度程序带来很大的压力?

答案1

每当你只是在观看其他工作,并且不想妨碍你时,比如使用toporiostatsystat或其他任何东西,使用总是很好的nice

nice watch squeue -u myUserName

这会以降低的优先级运行您的进程(与默认优先级相比)。假设集群作业以正常优先级运行,nice您的进程会告诉调度程序,在上面的所有作业都获得了 CPU 时间后,您只愿意接受剩余的空闲 CPU 时间。

如果您在负载较重的计算机上执行低优先级的操作,则始终需要考虑以下事项:

$ nice bash -l

以便一切您确实以比集群已经运行的“实际作业”更低的优先级运行。

答案2

每个squeue命令向 Slurm 控制守护进程发起 RPC ( slurmctld)。这会给控制守护进程带来负载,但是在不知道控制器有多少功率或不知道系统负载有多大的情况下,很难判断常数squeue会对其产生多大影响。

如果您的组织有 500 多个用户,并且不断运行watch "squeue -u $USER_NAME",那么这会给系统带来巨大的负载,而不是仅仅在功能强大的系统上运行它。

更好地利用时间是,如果你要正确地为你的工作设置超时时间,这样如果你知道在 x 分钟后你应该处于completing可以运行类似sleep x; squeue -u $USER_NAME.或者甚至更进一步,研究如何将电子邮件状态消息合并到您的工作中,当某项任务完成或您的工作达到某一阶段时,这些消息会通知您。这watch还可以使用该选项配置命令运行的频率-n

相关内容