如何对CPU参数和操作系统层级进行调优,实现低延迟低抖动的业务处理?

现代的操作系统都支持多任务并发,在多核CPU上进行进程的切换,会导致进程的上下文切换,是否可以通过参数的调优,保障交易进程的CPU部分核数独占,实现低延迟,降低抖动?

参与19

4同行回答

nkj2021nkj2021  系统架构师 , 某证券企业
对CPU参数和操作系统层级进行调优,以实现低延迟低抖动的业务处理,可以考虑以下几个方面:1.CPU绑定:尝试使用taskset把进程绑定到一个或者多个CPU上,确保进程不会在处理器之间跳跃,导致cache刷新,这样可以提高CPU缓存的命中率,减少跨CPU调度带来的上下文切换问题。2.CPU独占:跟C...显示全部

对CPU参数和操作系统层级进行调优,以实现低延迟低抖动的业务处理,可以考虑以下几个方面:
1.CPU绑定:尝试使用taskset把进程绑定到一个或者多个CPU上,确保进程不会在处理器之间跳跃,导致cache刷新,这样可以提高CPU缓存的命中率,减少跨CPU调度带来的上下文切换问题。
2.CPU独占:跟CPU绑定类似,进一步将CPU分组,并通过CPU亲和性机制为其分配进程。这样,这些CPU就由指定的进程独占。换句话来说,不允许其他进程来便用这些CPU。
3.数据内存化:确保所有数据都在内存中可以大大减少I/O操作带来的延迟。这通常意味着需要管理内存中的数据结构以及维护现有记录,这样在重启机器或进程后能够重建之前的状态。
4.保持系统未充分使用:低延迟总是需要有资源来处理新的请求不要试图运行到软硬件资源的极限。
以上是调优CPU参数和操作系统层级实现低延迟低抖动的业务处理的一些方法,具体方法要根据具体的系统和业务需求进行调整。

收起
证券 · 2023-11-29
浏览345
wangqlwangql  系统工程师 , NULL
可以,就是cpu的亲和力设置系统管理级别:Linux:taskset,比如taskset -c -p 0 1342,把进程1342绑定到cpu0上aix:bindprocessor,比如bindprocessor  1342 1,把进程1342绑定到cpu1上开发级别,使用系统提供的函数Linux:进程:sched_setaffinity  线程:pthread_setaffinity_npaix:也是bin...显示全部

可以,就是cpu的亲和力设置
系统管理级别:
Linux:taskset,比如taskset -c -p 0 1342,把进程1342绑定到cpu0上
aix:bindprocessor,比如bindprocessor  1342 1,把进程1342绑定到cpu1上

开发级别,使用系统提供的函数
Linux:进程:sched_setaffinity  线程:pthread_setaffinity_np
aix:也是bindprocessor

收起
IT咨询服务 · 2023-11-23
浏览443
ricerice  运维 , 华泰证券
考虑以下方法:1.绑核。2.操作系统缓存区相关参数调整。3.主机BIOS参数调整。4,.数据库应用在操作系统层参数调优。5. 内存交易系统中的内存分页策略调整。6. 配合压测观察耗时变化。显示全部

考虑以下方法:
1.绑核。
2.操作系统缓存区相关参数调整。
3.主机BIOS参数调整。
4,.数据库应用在操作系统层参数调优。
5. 内存交易系统中的内存分页策略调整。
6. 配合压测观察耗时变化。

收起
证券 · 2023-11-29
浏览264
AdamzhangAdamzhang  Engineer , Intel英特尔
对于低延迟交易系统场景,在参数调优层面建议可以尝试以下方法进行测试验证:1)BIOS设置Maximum Performance2) CPU设置Disable c-state&p-state3) 关闭超线程4) 关闭不必要的服务5) 对进程进行绑核6) 使用英特尔SST(针对CPU频率)、RDT(针对缓存、内存带宽等)技术进行资源...显示全部

对于低延迟交易系统场景,在参数调优层面建议可以尝试以下方法进行测试验证:
1)BIOS设置Maximum Performance
2) CPU设置Disable c-state&p-state
3) 关闭超线程
4) 关闭不必要的服务
5) 对进程进行绑核
6) 使用英特尔SST(针对CPU频率)、RDT(针对缓存、内存带宽等)技术进行资源隔离,避免其他进程干扰,保证低时延进程的高优执行。

收起
微电子/半导体 · 2023-11-29
浏览314

ChatGPT 回答

是的,可以通过操作系统的参数调优来保障交易进程的CPU部分核数独占,实现低延迟,降低抖动。

首先,可以通过CPU亲和性设置,将交易进程绑定到特定的CPU核心上,避免进程在不同的CPU核心之间切换,从而降低上下文切换的开销。这可以通过Linux系统中的taskset命令来实现。

其次,可以通过进程调度策略的设置,优先调度交易进程,避免其他进程抢占CPU资源。Linux系统中有多种进程调度策略可供选择,如实时调度策略和CFS调度策略等。

此外,还可以通过系统优化来提高交易进程的性能。例如,可以通过调整内核参数来优化网络和磁盘I/O性能,提高系统吞吐量。同时,还可以通过优化内存使用和文件系统缓存等方面来减少系统的抖动。

需要注意的是,操作系统参数的调优需要根据具体的硬件和应用场景进行调整,需要进行充分的测试和评估,以确保调整后的系统能够满足性能要求,并且稳定可靠。

提问者

gavin_zhang
系统架构师某股份制银行
擅长领域: 云计算容器容器云

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2023-11-23
  • 关注会员:5 人
  • 问题浏览:1481
  • 最近回答:2023-11-29
  • X社区推广