覆盖 cgroups 中 blkio 请求的默认调度程序

覆盖 cgroups 中 blkio 请求的默认调度程序

我正在尝试优化一组必须驻留在单台机器上的服务器。即,我可以在同一实例中拥有多个应用程序服务器、一个数据库服务器,当然还有一个 Samba 服务器。现在,我正在研究几个可用的优化选项。在我的探索中,我对网络堆栈进行了调整。谈到 CPU、内存和 BLKIO 调整,我正在使用控制群组。我面临的问题是,为了提高我所运行应用程序的性能,为BLKIO子系统不是最佳的。我更希望使用 Deadline 调度程序,因为它可以很好地满足我的目的。我的问题是,我们是否可以将内核编译中的 BLKIO 调度程序更改为 Deadline,这将反映在我对 [CGROUP 层次结构][3] 的使用中?因为在运行服务 cgconf 时,会安装一个新的 fs,我不希望它恢复为 CFQ 调度程序。我也欢迎任何能让我更好地控制资源的建议。

编辑:我使用 CentOS 6.2 进行测试。稍后将推送到 Redhat 6.2

答案1

我会真的希望您使用 RHEL/CentOS 6.3。EL 6.2 版存在时间很短,许多错误修复和增强功能都是针对较新的定点发布内核的。Red Hat/CentOS 对此非常清楚,因为 6.2 没有更新,并且软件包仅在保险库档案

无论哪种方式,你应该使用的工具是tuned 和 tuned-adm 框架. 其中一些内容在这里有详细说明,在这个问题中,更加以存储为中心的答案在这里

tuned-adm允许您即时将配置文件应用于系统。tuned-adm profile enterprise-storage例如,使用以下方式启用配置文件:将应用下图中最后一列中的更改;包括使用重新安装文件系统并将nobarrierI/O 调度程序更改为可用块设备的截止日期。不幸的是,该virtual-guest配置文件仅在 EL 6.3 或更新版本中提供... :( 升级的另一个原因...

最后,tuned它是一个守护进程,因此可以随时停止/重新启动。只需在安装新的 FS 时重新加载/重新应用服务即可。它会处理其余的事情。您还可以使用sysctl.conf和其他性能设置创建自己的配置文件...

在此处输入图片描述

相关内容