zoukankan      html  css  js  c++  java
  • Linux调度器

    2.6 版本调度器的源代码都很好地封装到了 /usr/src/linux/kernel/sched.c 文件中。我们在表 1 中对在这个文件中可以找到的一些有用的函数进行了总结。

    表 1. Linux 2.6 调度器的功能
    函数名函数说明
    schedule调度器主函数。调度优先级最高的任务执行。
    load_balance检查 CPU,查看是否存在不均衡的情况,如果不均衡,就试图迁移任务。
    effective_prio返回任务的有效优先级(基于静态策略,但是可以包含任何奖励和惩罚)。
    recalc_task_prio根据任务的空闲时间确定对任务的奖励或惩罚。
    source_load适当地计算源 CPU(任务从中迁移出的 CPU)的负载。
    target_load公平地计算目标 CPU(任务可能迁移到的 CPU)的负载。
    migration_thread在 CPU 之间迁移任务的高优先级的系统线程。

    运行队列的结构也可以在 /usr/src/linux/kernel/sched.c 文件中找到。2.6 版本的调度器还可以提供一些统计信息(如果启用了CONFIG_SCHEDSTATS)。这些统计信息可以从 /proc 文件系统中的 /proc/schedstat 看到,它为系统中的每个 CPU 都提供了很多数据,包括负载均衡和进程迁移的统计信息。

    更多信息可参考: http://www.ibm.com/developerworks/cn/linux/l-scheduler/index.html

  • 相关阅读:
    springMVC总结
    spring总结
    dubbo文档
    mysql集群
    JVM-优化
    JVM-GC日志打印
    JVM-垃圾回收
    JVM-问题定位示例
    C++11
    《疯狂的程序员》
  • 原文地址:https://www.cnblogs.com/westwind/p/1914185.html
Copyright © 2011-2022 走看看