linux – 如何管理进程到CPU核心的关联?

前端之家收集整理的这篇文章主要介绍了linux – 如何管理进程到CPU核心的关联?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用分布式用户空间文件系统(GlusterFS),我希望确保GlusterFS进程始终具有所需的计算能力.

我的网格的每个执行节点都有2个cpu,每个cpu有4个内核,每个内核有2个线程(Linux可以看到16个“处理器”).

我的目标是确保GlusterFS流程具有足够的处理能力,以确保可靠,响应和快速. (这里没有营销,只是系统管理员的梦想;-)

我考虑两个要点:

> GlusterFS流程
>用于数据访问的I / O(在本地磁盘或远程磁盘上)

我考虑过在特定的“处理器”上绑定GlusterFS实例.

我想确定:

>没有网格作业会影响内核和GlusterFS实例
>研究人员的工作不会受到系统进程的影响(我想保留一个核心池来执行作业,并确保没有系统进程会使用这些cpu)

但是I / O怎么样?
当我们处理大量数据(几兆兆字节)时,我们会有很多中断.

如何在我的处理器上分发这些操作?
什么是“最佳实践”?

感谢您的意见!

解决方法

用户空间固定到特定处理器有时可以使其更加一致地执行;但不是内核. (检查 taskset)

如果可能,您将把用户空间/内核switchtme(已经是OS性能中的可测量因素)转变为处理器间通信/同步问题.许多数量级更糟糕.

编辑:既然你已经删除了’pin the kernel’的想法,那就更合理了.是的,您可以使用taskset启动所有网格进程,并为GlusterFS保留一个或两个cpu.对于一个类似的例子,在Xen系统中被认为是为Dom0保留一个cpu的“最佳实践”,它处理所有I / O.

猜你在找的Linux相关文章