AIX 5L CPU性能优化(3)
2007-08-27 08:14:20 来源:WEB开发网更改线程的优先级
您已经了解了如何更改进程的优先级,那么对于线程又该如何操作呢?这部分内容介绍了如何更改用于计算每个线程优先级值的 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。
更多精彩
赞助商链接