`

注意linux 2.6.32内核高精度定时器带来的cpu sy暴涨的“问题

阅读更多
注意linux 2.6.32内核高精度定时器带来的cpu sy暴涨的“问题,根据
http://hellojava.info/?m=201307所说的:

linux在2.6.32内核以后支持了高精度的调度,在.32以前的内核里,即使你在java里写queue.await(1ns)之类的代码,其实都是需要1ms左右才会执行的,但.32以后则可以支持ns级的调度,对于实时性要求非常非常高的性能而言,这本来是个好特性。

但不幸的是很多人在写代码的时候其实压根就没有要ns级调度的需求,纯粹只是随便写了一个类似10ns唤醒的策略,这个在内核升级到.32后就悲催了,直接就会看到cpu sy猛增,很容易以为是内核的bug,话说其实这可以认为是程序本身的bug。

在linux上可通过cat /proc/timer_list | grep .resolution来查看调度器的精度。

可通过修改/boot/grub/grub.conf,在相应的kernel行的最后增加highres=off nohz=off来关闭高精度(不建议这样做,最好还是程序本身做相应的修改)。
1
2
分享到:
评论

相关推荐

    linux2.6.32 内核纯净版

    这个是linux2.6.32内核源码,没有做任何修改。可以放心下载。

    linux2.6.32内核在mini2440上的移植,YAFFS2文件系统移植

    Linux 2.6.32 内核在 mini2440 上的移植与 YAFFS2 文件系统移植 Linux 2.6.32 内核在 mini2440 上的移植主要讲述 YAFFS2 文件系统移植,YAFFS2 是专门针对嵌入式设备,特别是使用 NAND Flash 作为存储器的嵌入式...

    mini2440关于linux2.6.32内核的移植

    在本文中,我们将深入探讨如何在Mini2440平台上进行Linux 2.6.32内核的移植,以及如何处理USB加载和网卡驱动的相关问题。这是一系列复杂而重要的步骤,对于嵌入式系统开发者来说是必备的知识。 首先,让我们关注...

    linux 2.6.32内核目录树

    ### Linux 2.6.32 内核目录树及结构知识点详解 #### 一、总览 在深入探讨Linux 2.6.32内核目录树之前,我们需要了解其基本架构。Linux 2.6.32是Linux内核的一个版本,它主要包含了系统的核心功能与驱动程序。该...

    linux2.6.32exp

    首先,Linux 2.6.32 版本是2.6内核系列的一个重要里程碑,它带来了对硬件的支持更新,包括对新处理器架构的兼容,例如Intel Nehalem微架构和AMD的霄龙(Opteron)处理器。这些更新使得Linux能够在更广泛的硬件平台上...

    CY68013 Linux 2.6.32 USB驱动程序

    该程序是CY68013基于Linux 2.6.32内核的驱动源码,程序基于源码中usb-skeleton.c框架进行修改,能够实现33MB/S的传输速度

    linux-2.6.32 kdb补丁 修改编译错误

    Linux内核是操作系统的核心部分,负责管理系统的进程、内存、设备驱动、文件系统以及网络等。在2.6.32版本中,内核调试工具KDB(Kernel Debugger)是用于对内核进行动态调试的重要组件。KDB允许开发者在内核运行时...

    linux2.6.32下rootkit,仿照all_root

    标题提到的"linux2.6.32下rootkit,仿照all_root"是指针对Linux内核版本2.6.32的一个Rootkit实现,这个实现是基于旧版的all_root工具进行修改,使其适应了新的内核版本。 all_root原本是为Linux 2.4内核设计的,而...

    linux-2.6.32_Part02

    linux-2.6.32内核源代码之Part02

    定制linux内核(linux2.6.32).pdf

    在本例中,我们将关注如何针对Linux 2.6.32内核进行定制,主要集中在Ubuntu 9.04操作系统上,使用arm-linux-gcc-4.4.3交叉编译器进行编译。 首先,我们需要了解配置内核的基本步骤。通常,我们会从获取内核源码开始...

    linux2.6构建内核树

    构建Linux 2.6内核树是开发和定制Linux内核的一个关键步骤,尤其是在编写或编译设备驱动程序时。这一过程涉及到从源代码构建一个新的内核,以便于支持特定的硬件设备或进行性能优化。以下是对构建Linux 2.6内核树的...

    定制linux内核(linux2.6.32).doc

    【定制Linux内核(linux2.6.32)】是指在Linux操作系统中,针对特定硬件或应用场景,对内核进行个性化配置的过程。这个过程通常包括选择必要的内核模块、裁剪不必要的功能,以达到优化性能、减小内核体积、提高系统...

    Mini2440嵌入式linux内核定制剖析(linux2.6.32)

    ### Mini2440嵌入式Linux内核定制剖析(linux2.6.32) #### 一、前言 嵌入式系统以其强大的功能、灵活性及高效性,在物联网、工业自动化、智能家居等多个领域有着广泛的应用。对于嵌入式系统的开发者而言,掌握...

    定制linux内核(linux2.6.32)汇编.pdf

    本文以Linux内核版本2.6.32为例,介绍如何在Ubuntu 9.04操作系统上,使用arm-linux-gcc-4.4.3交叉编译器进行内核配置和编译,以适应基于S3C2440处理器的FriendlyARM Mini2440开发板。 首先,你需要确保已安装了必要...

    Linux2.6最终稳定内核版本-linux-2.6.32.63.tar.xz

    Linux2.6最新最稳定的内核版本源码,Linux-2.6.38.4,加入了新的功能,下载体验吧

    linux-2.6.32.tar.gz

    《Linux内核详解:聚焦2.6.32版本》 在开源软件的世界里,Linux内核无疑是最为耀眼的一颗星。它以其强大的稳定性和灵活性,被广泛应用于各种操作系统和设备之中。当我们谈论"linux-2.6.32.tar.gz"时,我们实际上是...

    Linux 2.6内核的嵌入式系统应用.pdf

    Linux 2.6内核是Linux操作系统的一个重要版本,针对嵌入式系统进行了多项优化,使其更适合在资源有限和性能要求高的环境下运行。这个内核引入了许多新特性,提升了实时性和可靠性,使得Linux在嵌入式领域有了更强的...

    Linux kernel 2.6.32 part5

    Linux内核2.6.32是Linux操作系统发展历史中的一个重要版本,发布于2009年12月。这个版本引入了许多改进和新特性,为开发者和学习者提供了丰富的研究素材。在这个部分5中,我们可以期待看到内核源代码的特定部分,...

    linux-2.6.32_Part04

    linux-2.6.32内核源代码之Part04

Global site tag (gtag.js) - Google Analytics