AIX 5L CPU性能优化(3)

http://tech.ddvip.com   2007年08月27日    社区交流

内容摘要:本系列文章的第 3 部分重点关注中央处理单元 (CPU) 性能优化中鲜为人知的方面:控制线程使用和 CPU 绑定。本文介绍了一些关键的工具和实用程序,您可以使用它们来分析线程和管理进程。

  更改线程的优先级

  您已经了解了如何更改进程的优先级,那么对于线程又该如何操作呢?这部分内容介绍了如何更改用于计算每个线程优先级值的 CPU 调度参数。您可以使用 schedo(在 AIX Version 5.2 及更早的版本中是 schedune)来完成这项工作。

  首先,您需要确保拥有下面的文件集(请参见 清单 4)。

  清单 4. 检查文件集# lslpp -lI bos.perf.tune
 Fileset           Level State   Description
 ----------------------------------------------------------------------------
Path: /usr/lib/objrepos
 bos.perf.tune       5.2.0.10 COMMITTED Performance Tuning Support
Path: /etc/objrepos
 bos.perf.tune       5.2.0.10 COMMITTED Performance Tuning Support

  现在,让我们报告所有的 CPU 参数,如清单 5 所示。

  清单 5. 报告所有的 CPU 参数# schedo -a
       %usDelta = 100
     affinity_lim = 7
     big_tick_size = 1
   fixed_pri_global = 0
       force_grq = 0
idle_migration_barrier = 4
        maxspin = 16384
       pacefork = 10
        sched_D = 16
        sched_R = 16
       timeslice = 1
     v_exempt_secs = 2
     v_min_process = 2
      v_repage_hi = 0
     v_repage_proc = 4
      v_sec_wait = 1

  首先从 fixed_pri_global 开始进行分析。它的缺省设置为 0。当 CPU 准备分派线程时,它会先检查全局运行队列,然后再检查其他队列。当线程在 CPU 上的时间片结束之后,它将被重新放回到这个队列中。这可以帮助维护处理器的关联性(稍后我将介绍这部分内容)。要提高整体的线程性能,您可以将名为 RT_GRQ 的环境变量设置为 ON。这样一来,就会自动地将线程放入到全局运行队列中。如果您将缺省值从 0 更改为 1,那么所有固定优先级的线程都将放入到这个运行队列中。您可以执行下面的命令将缺省值从 0 更改为 1: #schedo -o fix_pri_global=1。

来源:ibm    作者:Ken Milberg    责编:豆豆技术应用

正在加载评论...