一段时间以来,我已经知道在较高和较低优先级下运行进程,但具有不同的 I/O 优先级,这对我来说是新闻。我的谷歌返回了有关renice(我知道)和ionice(对我来说是新闻)等工具的信息,但ionice不在我的系统 RHEL4 上。
问题: RHEL4 是否有工具可以让我以低 IO 优先级运行进程?
我需要这个的原因是,在生产系统的繁忙时间(基本上是醒着的时间)运行潜在的繁重任务(如du或find/sed针对多 TB 文件系统)可能会影响性能数十分钟甚至数小时。我宁愿在适合我的时候做这些,而不是熬夜。 再次。
rhel4 基于内核 2.6.9。您至少需要 2.6.13 才能使用 ionice,即便如此,您也需要在 CFQ 调度程序下运行 lun。
我自己一直在寻找 ionice(1) 等价于 RHEL4,特别是因为我一直在 FreeBSD 上使用 idprio。当我使用 VMware 的磁盘管理器创建数 GB 的虚拟磁盘文件时,降低 I/O 优先级对我来说很方便。通常,这会导致机器上的平均负载飙升至两位数。
在谷歌搜索之后,我找到了这个线程(https://www.tektonic.net/forum/showthread.php?p=5394)和这个脚本的链接: http: //s3.amazonaws.com/ServEdge_pub/ionice
我一直在这里尝试它,它似乎对我有用。平均负载现在保持在可接受的水平内,并且正在运行的虚拟机在创建虚拟磁盘期间不会停止。
希望它有所帮助,
Greg
SourceHosting.net, LLC