IT外包网管服务。Linux系统性能评估基准的系统结构及其原理

发布者:上海IT外包来源:http://www.lanmon.net点击数:1266

      蓝盟IT小贴士,来喽!
  概要
  开发人员在高性能系统性能调整过程中,经常遇到各种背景噪声干扰,收集到的数据不准确。 本文主要从CPU和Linux的角度分析各种噪声的成因和去除方法。 最终目标是建立基准,在特定cpu上实现“0”噪声。
  Cpu运行中存在的几种背景噪声源
  1 .调度程序:
  进程调度程序对系统的影响很小。 Linux内核通常使用公平的时分调度策略( CFS )。 要调整调度程序的行为,需要特定的参数来最大限度地减少对测量过程的干扰。
  2 .中断:
  中断是系统必须响应的事件,具有高优先级,可以抢占正常用户进程。
  a .硬件故障
  主要是外部事件,CPU需要非常及时的响应。 例如,需要注意的是,最常见的IO、时钟和Linux内核所支持的硬件中断的数量很大并且具有兼容性。 可以取消响应相对特殊的中断。
  b .软件中断软件irq
  软中断是硬件中断处理的派生子系统。 LInux硬件中断响应只需处理必须立即响应的操作,就可以将处理延迟的操作传递给软中断。 Linux有10种软中断,然后进行分析。
  c. Workqueue
  Workqueue也是LInux中常见的延迟操作任务类型
  3 .电源管理:
  现代处理器通常支持高级电源管理功能,以更高效地利用能源。 这些电源管理功能会影响性能评估,即使使用不当也是如此。
  4 .时间来源:
  为了进行绩效评价,时间戳是必不可少的。 时间戳的正确收集方法也很重要。
  以上几个因素常常相互纠缠。 例如,过程调度器需要时钟中断,并且功率管理子系统需要调度器。 时间戳的收集和微体系结构也是相关的。 然后,分析每个案例。
  isol CPUs=受管理的_ IRQ CPUs列表
  Isolcpus主要从调度器的调度算法中分离目标cpu。 换句话说,从用户进程的角度来看,调度程序不会主动将进程调度到目标cpu。 但是,仅使用此参数不能保证所有软/硬中断和其他内核组件都不能在目标cpu上运行。
  nohzfull=cpulist此参数具有相对削弱的nohz版本。 nohz表示当目标cpu的runqueue中没有可调度实体时,cpu将处于空闲状态,cpu将停止时钟tick (默认值为10ms )。 当runqueue上只有一个活动实体时,nohzfull会继续停止时钟tick。 这大大减少了对唯一正在运行的进程的干扰(而不是100% )。 值得注意的是,nohzfull通常不会在非服务器版本的内核中打开,必须重新编译内核。 可以选中相应的内核编译选项CONFIGNOHZFULL=y。 如果未打开,启动日志将显示警告。 同时nohzfull也抑制了rcunocbs=cpulist
IT外包
>
400-635-8089
立即
咨询
电话咨询
服务热线
400-635-8089
微信咨询
微信咨询
微信咨询
公众号
公众号
公众号
返回顶部