`

(转)itop更方便的了解Linux下中断情况

 
阅读更多
http://blog.yufeng.info/archives/1062

在作网络程序的时候, 经常需要了解interrupts和软中断的平衡情况, 需要知道每秒有多少中断发生,发生在哪个cpu上.
Linux下中断来源可以从 /proc/interrupts 中了解到:

$ cat /proc/interrupts
           CPU0       CPU1     
  0:     247701     250313   IO-APIC-edge      timer
  1:        501        567   IO-APIC-edge      i8042
  3:          1          1   IO-APIC-edge  
  8:          1          0   IO-APIC-edge      rtc0
  9:        256        240   IO-APIC-fasteoi   acpi
12:       1134       1149   IO-APIC-edge      i8042
16:        629        554   IO-APIC-fasteoi   nvidia
17:      21313      20869   IO-APIC-fasteoi   firewire_ohci, eth1
18:          0          0   IO-APIC-fasteoi   mmc0
19:      51822      50079   IO-APIC-fasteoi   ata_piix, ata_piix
20:       5605       5255   IO-APIC-fasteoi   ehci_hcd:usb2, uhci_hcd:usb3, uhci_hcd:usb6
21:          0          0   IO-APIC-fasteoi   uhci_hcd:usb4, uhci_hcd:usb7
22:         33         33   IO-APIC-fasteoi   ehci_hcd:usb1, uhci_hcd:usb5, uhci_hcd:usb8
45:        337        247   PCI-MSI-edge      eth0
46:        441        447   PCI-MSI-edge      hda_intel
NMI:          0          0   Non-maskable interrupts
LOC:     169176     174899   Local timer interrupts
SPU:          0          0   Spurious interrupts
PMI:          0          0   Performance monitoring interrupts
PND:          0          0   Performance pending work
RES:      42289      40236   Rescheduling interrupts
CAL:        154       1076   Function call interrupts
TLB:       5838       5365   TLB shootdowns
TRM:          0          0   Thermal event interrupts
THR:          0          0   Threshold APIC interrupts
MCE:          0          0   Machine check exceptions
MCP:          5          5   Machine check polls
ERR:          1
MIS:          0
软中断可以从/proc/softirqs 了解到:

$ cat /proc/softirqs
                CPU0       CPU1     
      HI:          0          0
   TIMER:     160508    1170976
  NET_TX:          2          2
  NET_RX:       3303       3165
   BLOCK:      50964      49198
BLOCK_IOPOLL:          0          0
TASKLET:      24743      24284
   SCHED:      39483      41848
HRTIMER:         34         40
     RCU:      92193      92592
总的中断次数可以从vmstat或者dstat了解到:

$ vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
3  0      0  44160 327144 876600    0    0   894   584  458 2295 11  5 70 15
itop提供了更方便的方式了解,作者Hunz在源码里面写:

It’s quite simple but it does its job.

虽然简单,但是适用:

Ubutun下可以这样安装: apt-get install itop

$ itop
INT                NAME          RATE             MAX
  0 [PIC-edge      time]   628 Ints/s     (max:   628)
  1 [PIC-edge      i804]     4 Ints/s     (max:     4)
17 [PIC-fasteoi   fire]     8 Ints/s     (max:    22)
19 [PIC-fasteoi   ata_]     1 Ints/s     (max:    14)
20 [PIC-fasteoi   ehci]    25 Ints/s     (max:    25)
45 [MSI-edge      eth0]     1 Ints/s     (max:     1)
他会计算每秒每个中断源中断的次数,看起来比较方便.
分享到:
评论

相关推荐

    迅为iTOP-4412嵌入式开发板实现中断驱动例程

    在Linux系统中,中断驱动是一种高效的事件处理机制,使得CPU可以在等待外部事件时执行其他任务,而不是持续轮询设备状态。Linux内核采用统一编号的方式对中断进行管理,每一个中断都对应一个唯一的中断号(irq)。...

    iTOP-4412 Linux 驱动实验手册_V1.0

    《iTOP-4412 Linux 驱动实验手册_V1.0》是一本针对三星Exynos 4412处理器的Linux开发板进行驱动程序开发和实践操作的详尽指南。这本书主要面向那些对嵌入式系统、Linux内核以及硬件驱动编程感兴趣的工程师和技术爱好...

    iTop4412 LED驱动代码

    iTop4412是一款高性能、低功耗的LED驱动控制器,常用于嵌入式系统中的LED显示控制。本文将详细解析如何为iTop4412编写Linux内核...在实际应用中,可能还需要处理中断、定时器等高级功能,以实现更复杂的LED控制逻辑。

    itop4412 UBOOT源代码

    在这个目录下,你可以找到处理器初始化、中断处理等代码。 2. `boards` 目录:包含了不同开发板的具体配置和驱动。ITOP4412的相关配置文件应该在这里,它定义了开发板的硬件特性,如引脚配置、设备树等。 3. `...

    iTop admin

    2. **事件与请求管理**:用户可以使用iTop来管理各类IT事件,如事故处理、用户请求以及计划中的服务中断等。 3. **IT服务文档化**:除了基础设施文档化之外,iTop还能帮助用户记录外部供应商的服务合同和服务水平...

    ITOP4412 KERNEL PART7

    这个教程可能是为开发者提供的一个详细指南,帮助他们理解并定制针对ITOP4412硬件平台的Linux内核。 在Linux内核开发中,"PART7"可能涵盖以下几个关键知识点: 1. **设备驱动**:这部分可能会深入讲解如何为ITOP...

    iTOP-4412开发板Android操作系统源码编译过程全纪录

    在某些情况下,如果fstab配置不正确,可能会导致系统启动时无法正确挂载文件系统,或者影响系统的存储配置。修改fstab文件往往是为了调整这些设置。 通过修改fstab文件解决编译过程中的问题后,Android源码编译过程...

    itop:中断 Linux 的“top-like”实用程序

    顶中断 Linux 的“top-like”实用程序最初的想法: : 分叉它以使其支持更多的 CPU(最多 24 个测试) 由修改,以启用过滤,用户指定的时间间隔并打印完整的中断名称(而不是中断类型和名称的一小部分)。用法 itop ...

    iTop-4412实现一键开关机休眠唤醒.zip

    1. **硬件接口**:首先,你需要了解iTop-4412板子上的硬件接口,特别是与按键相连的GPIO(通用输入/输出)引脚。这些引脚会检测按键的按下和释放状态,并将信号转化为软件可读的形式。 2. **驱动程序开发**:...

    iTOP-4412移植CAN通信程序.rar

    首先,我们需要了解iTOP-4412的硬件特性。S5PV210处理器内建了对CAN控制器的支持,因此我们可以直接利用其硬件资源进行CAN通信。在开始移植程序之前,确保你的iTOP-4412开发板上正确连接了CAN接口的物理层(包括CAN_...

    iTop4412_kernel_public:iTop4412_kernel_public存储库,android4.0,linux,ubuntu使用此内核源代码,包括scp和pop核心板-ubuntu source code

    在Ubuntu环境下,iTop4412_kernel_public提供了与Linux内核兼容的接口,允许开发者在Ubuntu开发环境中编译和调试针对iTop4412的内核。这极大地扩展了开发者的工具集,使得他们能够在熟悉的Linux环境下工作,同时利用...

    迅为imx6q 开发板 iTOP-iMX6-android6.0.1-20200731 中提取的 uboot-imx

    - 硬件初始化:识别和配置处理器、内存、时钟、中断控制器等。 - 存储设备检测:识别并初始化如eMMC、SD卡等存储介质。 - 网络支持:通过以太网接口进行网络启动或更新固件。 - 用户交互界面:提供命令行接口,...

    讯为iTOP4412开发板(操作系统烧写时候的注意事项)

    ### 讯为iTOP-4412开发板操作系统烧写注意事项详解 #### 一、概述 讯为iTOP-4412是一款基于三星Exynos 4412处理器的ARM开发板,广泛...希望本文能够帮助读者更好地理解和掌握讯为iTOP-4412开发板的操作系统烧写技巧。

    QtE-UART-iTOP4412-QtE4.7.1.zip

    QtE是Qt框架在嵌入式设备上的扩展,它允许开发者使用Qt工具集创建图形用户界面(GUI)应用程序,尤其适用于嵌入式Linux系统。iTOP4412是一款常见的基于ARM Cortex-A9架构的开发板,常用于嵌入式系统的开发和测试。 ...

    iTOP-IMX6-设备树内核-watchdog看门狗例程_V1.0.zip

    "ITOP-IMX6-设备树内核-watchdog看门狗例程_V1.0.pdf" 文件应该提供了更详细的教程或指南,解释了如何在iTOP-IMX6设备树中配置和使用看门狗定时器。设备树是Linux内核用于描述硬件结构的一种方式,它帮助编译时静态...

    讯为4418GPIO初始化过程

    讯为开发板的GPIO初始化过程可以从操作系统的启动代码开始追踪,通常这部分代码位于Linux内核源码的特定目录下。 开发板的启动流程开始于start_kernel()函数,这是Linux内核主函数,标志着操作系统内核的启动。...

    电子-GPS.zip

    这包括初始化串口通信、设置中断、解析NMEA数据、计算位置信息、存储历史轨迹等。 4. **算法实现**:在软件中实现定位算法,例如DR(Dead Reckoning)算法,可以结合速度传感器和加速度计数据,提高定位精度。 5. ...

    arm 体系结构 编程等相关资料

    这本书会讲解如何在Linux环境下编写设备驱动,包括字符设备驱动、块设备驱动和网络设备驱动等。读者将学习到如何与内核通信,如何处理中断,以及如何管理设备文件。对于ARM平台,了解如何为特定的ARM处理器编写驱动...

    ut6410-uboot-v2.0.tgz

    3. **设备树**:使用设备树(Device Tree)描述硬件结构,位于`arch/arm/dts/`,方便跨平台移植。 4. **中断处理**:`interrupts.c`负责中断向量表设置和中断服务例程注册。 5. **命令处理**:`cmd/`目录下包含了...

Global site tag (gtag.js) - Google Analytics