Nice / IOnice 哪个第一?有关系吗?还有其他方法可以减少脚本上的服务器负载吗?
Nice / IOnice which one first? Does it matter? Any other way to reduce server load on a script?
我一直在尝试使用“更好”的方式从活动服务器上的 bash
脚本 运行 gzip
,但它以某种方式设法使平均负载高于我希望它会是什么。
I/O 和 CPU 以下哪一个会更柔和?
还有其他我不知道的方法吗?
/usr/bin/nice -n 19 /usr/bin/ionice -c2 -n7 gzip -9 -q foo*
或
/usr/bin/ionice -c2 -n7 /usr/bin/nice -n 19 gzip -9 -q foo*
此外,是否有其他命令(例如 ulimit
有助于减轻服务器负载?
我不熟悉 ionice
的东西,但是 nice
只是意味着 如果 另一个进程想要使用 CPU ,那么nice进程会更愿意等一下
CPU 负载不受此影响,因为它只是 "run queue" 长度的度量,两者将相同。
我猜它会与 ionice
相同,但会影响磁盘负载。
因此,"niceness" 只会影响您的进程允许其他人在队列中排在您前面的意愿,但最终负载将是相同的,因为 CPU/disk 必须执行任务。
ANALOGY:将收银台后面的人作为类比。他们仍然需要处理队列,但队列中的人可能彼此友好,让其他人在他们之前通过到柜台。 "load" 是该队列的长度。
我一直在尝试使用“更好”的方式从活动服务器上的 bash
脚本 运行 gzip
,但它以某种方式设法使平均负载高于我希望它会是什么。
I/O 和 CPU 以下哪一个会更柔和?
还有其他我不知道的方法吗?
/usr/bin/nice -n 19 /usr/bin/ionice -c2 -n7 gzip -9 -q foo*
或
/usr/bin/ionice -c2 -n7 /usr/bin/nice -n 19 gzip -9 -q foo*
此外,是否有其他命令(例如 ulimit
有助于减轻服务器负载?
我不熟悉 ionice
的东西,但是 nice
只是意味着 如果 另一个进程想要使用 CPU ,那么nice进程会更愿意等一下
CPU 负载不受此影响,因为它只是 "run queue" 长度的度量,两者将相同。
我猜它会与 ionice
相同,但会影响磁盘负载。
因此,"niceness" 只会影响您的进程允许其他人在队列中排在您前面的意愿,但最终负载将是相同的,因为 CPU/disk 必须执行任务。
ANALOGY:将收银台后面的人作为类比。他们仍然需要处理队列,但队列中的人可能彼此友好,让其他人在他们之前通过到柜台。 "load" 是该队列的长度。