系統技術非業餘研究 » itop更方便的瞭解Linux下中斷情況
乘著公司搬家的功夫,寫點東西!
在作網路程式的時候, 經常需要了解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)
他會計算每秒每個中斷源中斷的次數,看起來比較方便.
祝玩的開心!
Post Footer automatically generated by wp-posturl plugin for wordpress.
No related posts.
相關推薦
系統技術非業餘研究 » itop更方便的瞭解Linux下中斷情況
乘著公司搬家的功夫,寫點東西! 在作網路程式的時候, 經常需要了解interrupts和軟中斷的平衡情況, 需要知道每秒有多少中斷髮生,發生在哪個cpu上. Linux下中斷來源可以從 /proc/interrupts 中瞭解到: $ cat /proc/interrupts
系統技術非業餘研究 » MYSQL資料庫網絡卡軟中斷不平衡問題及解決方案
最近公司在MySQL的資料庫上由於採用了高速的如PCIe卡以及大記憶體,去年在壓力測試的時候突然發現數據庫的流量可以把一個千M網絡卡壓滿了。隨著資料庫的優化,現在流量可以達到150M,所以我們採用了雙網絡卡,在交換機上繫結,做LB的方式,提高系統的吞吐量。 但是在最近壓測試的一個數據庫中,mps
系統技術非業餘研究 » 叢集引入inet_dist_{listen,connect}_options更精細引數微調
Erlang 17.5版本引入了inet_dist_{listen,connect}_options,對於結點間的互聯socket可以有更精細的控制,RPC的時候效能可以微調: raimo/inet_tcp_dist-priority-option/OTP-12476: Document ke
系統技術非業餘研究 » 實驗Erlang語法對應的opcode 讓你對erlang理解更深
Erlang作為一門FP語言,和傳統的語言結構一樣, 有模組, 有函式, 有語句, 有判斷, 有迴圈, 還有特別的模式匹配。 那麼這些在底層是如何運作的。 我在底下給大家做個簡單的實驗,讓大家一窺內部的細節,讓大家寫碼的時候知道個大概。 erlang的VM作為register based的VM,
系統技術非業餘研究 » Linux下方便的socket讀寫檢視器(socktop)
晚上 雕樑 說要找個工具來調查下unix域套接字的傳送和接受情況,比如說A程式是否送出,B程式是否接收到,他找了tcpdump ,wireshark什麼的,貌似都不支援。 這時候還是偉大的systemtap來救助了。 因為所有的socket通訊都是通過socket介面來的,任何family的通訊
系統技術非業餘研究 » rlwrap方便行編輯
GNU libreadline 為行編輯提供了統一的介面和方便的編輯能力,在使用中感覺非常爽。但是不是所以的應用程式都使用了readline庫來讀取使用者輸入,大部分C程式只是簡單的呼叫fgets。這樣的程式在輸入的時候非常痛苦。比如erl,為了移植性沒用到readline,而是自己實現了類似re
系統技術非業餘研究 » sshpass 方便登入ssh
在叢集的時候,通常需要登入到其他節點去執行命令。但是一般的機器都需要密碼登入的,去做ssh信任又非常麻煩。sshpass來幫忙了。 sshpass -noninteractive ssh password provider. 在ubuntu下可以用 apt-get install sshpass
系統技術非業餘研究 » 調研核心呼叫棧方便的工具 kmalloc
我們在研究核心的時候,看了核心程式碼後,就想著某個函式被誰誰呼叫。 呼叫路徑有很多條,有熱門的,有偏門的,但從程式碼不大容易看出。 如果我們能和gdb那樣在函式上設個斷點,看下核心函式的呼叫棧就清楚了。 但是如何統計熱門路線呢?用systemtap就可以,參看這裡, 這裡。 但是用systemt
系統技術非業餘研究 » Linux下方便的塊裝置檢視工具lsblk
之前在Linux下看有什麼塊裝置,通常都用fdisk什麼的或者直接ls /dev/ 人肉去看看, 很土,不方便。 前二天在江楓的網站上看到了介紹的lsblk,這玩意不錯,推薦給大家。 這個工具屬於util-linux-ng包,在RHEL 6.1上是安裝好的啦,直接用就好。 ubuntu高版本下也有
系統技術非業餘研究 » 巧用Netcat方便網路程式開發
首先介紹下NC,這個號稱網路瑞士軍刀的工具。 What is Netcat? Netcat is a featured networking utility which reads and writes data across network connections, using the TC
系統技術非業餘研究
ItPub寫的文章“2017 年度 DB-Engines 資料庫冠軍得主:PostgreSQL 封王!”, 點選 這裡 進一步閱讀 升的最快的幾個資料庫,我簡單的無責任點評: PG資料庫是很老的資料庫,不過這幾年冉冉升起,因為是學院派的,有很好的學術和智力的支援,一直以來在資料庫的體系結構,程式碼
系統技術非業餘研究 » MySQL資料庫架構的演化觀察
MySQL資料庫架構的演化觀察 December 14th, 2017 Categories: 資料庫 Tags: mysql
系統技術非業餘研究 » inet_dist_connect_options
Erlang 17.5版本引入了inet_dist_{listen,connect}_options,對於結點間的互聯socket可以有更精細的控制,RPC的時候效能可以微調: raimo/inet_tcp_dist-priority-option/OTP-12476: Document ke
系統技術非業餘研究 » 推薦工作機會
最後更新時間:2014/11/28 請賜簡歷至:[email protected], 感謝您對加入我們公司有興趣,我們希望能早日和您共事。 以下幾個職位1年內有效,歡迎內部轉崗: 資深資料工程師 公司:阿里(核心系統資料庫組) 工作地點:杭州(西溪園區) 崗位描述: 分析雲服務產生的海
系統技術非業餘研究 » 新的工作和研究方向
和大家更新下: 做了將近8年資料庫後,我的工作和研究方向將會延伸到虛擬化和計算相關的雲服務,希望能夠和大家一起進步,Happy New Year! 預祝大家玩得開心! Post Footer automatically generated by wp-posturl plugin for w
系統技術非業餘研究 » 2017升的最快的幾個資料庫無責任點評
ItPub寫的文章“2017 年度 DB-Engines 資料庫冠軍得主:PostgreSQL 封王!”, 點選 這裡 進一步閱讀 升的最快的幾個資料庫,我簡單的無責任點評: PG資料庫是很老的資料庫,不過這幾年冉冉升起,因為是學院派的,有很好的學術和智力的支援,一直以來在資料庫的體系結構,程式碼
系統技術非業餘研究 » Erlang 17.5引入+hpds命令列控制程序預設字典大小
Erlang 17.5釋出引入控制程序預設字典大小的命令列引數: Erlang/OTP 17.5 has been released Written by Henrik, 01 Apr 2015 Some highlights of the release are: ERTS: Added co
系統技術非業餘研究 » inet_dist_listen_options
Erlang 17.5版本引入了inet_dist_{listen,connect}_options,對於結點間的互聯socket可以有更精細的控制,RPC的時候效能可以微調: raimo/inet_tcp_dist-priority-option/OTP-12476: Document ke
系統技術非業餘研究 » 老生常談: ulimit問題及其影響
ulimit最初設計是用來限制程序對資源的使用情況的,因為早期的系統系統資源包括記憶體,CPU都是非常有限的,系統要保持公平,就要限制大家的使用,以達到一個相對公平的環境。以下是典型的機器預設的限制情況: $ ulimit -a core file size (blocks,
系統技術非業餘研究 » 求賢帖
原創文章,轉載請註明: 轉載自系統技術非業餘研究 本文連結地址: 求賢帖 作為一個優秀的工程師,你其實不缺少才華,你缺少的是神一樣的隊友、充滿挑戰的世界級技術難題,和一個可以施展自己才華的大舞臺。加入阿里核心系統資料庫開發團隊吧,你缺的這裡都有。來吧,戳這裡,給我們見識你的機會:http://b