我一直在尝试以“更好”的方式从事件服务器上的 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 负载不受此影响,因为它只是“运行队列”长度的度量,这将是相同的。
我猜它与 ionice
相同,但会影响磁盘负载。
因此,“友好”只会影响您的进程允许其他进程在队列中排在您之前的意愿,但最终负载将是相同的,因为 CPU/磁盘必须执行该作业。
类比:将收银台后面的人作为类比。他们仍然需要处理队列,但队列中的人可能彼此友好,让其他人在他们之前通过到柜台。 “负载”是该队列的长度。
关于bash - Nice/IOnice 哪个第一?有关系吗?还有其他方法可以减少脚本上的服务器负载吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38086115/