摘要:
bpftrace可以通過在函數開始和結束時打樁,測量兩者的間隔得到函數的執行時間。目前能夠在內核函數返回時時插裝的主要是kprobe。下面是一個例子: #!/usr/bin/bpftrace kprobe:try_to_wake_up { @start[tid] = nsecs; } kretpro
閱讀全文
摘要:
https://kernel.ubuntu.com/mainline/?C=N;O=D
閱讀全文
摘要:
Kernel index [LWN.net] https://lwn.net/Kernel/Index/
閱讀全文
摘要:
某一天突然感覺一臺服務器涉及到磁盤讀寫的操作都很卡。使用iostat -x看到: 可以看到util已經是100%。看寫入速度也不大,也就十幾兆。當前也沒有太高的iowait,cpu也都是idle。 使用iotop看,也沒有磁盤寫入的進程(感覺iotop有問題) 使用fatrace可以看到讀寫的文件大
閱讀全文
摘要:
sudo apt-get install cloud-image-utils cat >user-data <<EOF #cloud-config password: a chpasswd: { expire: False } ssh_pwauth: True EOF cloud-localds u
閱讀全文
摘要:
在擁有多cpu的系統中,調度域和調度組是進程負載均衡的基礎。本文介紹在x86系統中,多cpu環境下,調度域和調度組是如何初始化的。 什么是調度域? 在大型計算機系統中可能擁有上百cpu,這些cpu并不是完全對稱的,比如smt之間是共享L1cache和一些計算單元的,有些cpu共享一個L3cache。
閱讀全文
摘要:
https://lore.kernel.org/lkml/
閱讀全文
摘要:
在ubuntu上使用bpftrace時,如果腳本中包含"BEGIN"或者"END"這些符號就會報如下的錯誤: Could not resolve symbol: /proc/self/exe:BEGIN_trigger 這是因為apt安裝的bpftrace是strip過的,沒有debug symbo
閱讀全文
摘要:
本來想寫一些關于linux定時器得源碼分析,但是發現一篇博客寫得很詳細,就放個鏈接在這里方便查找。 linux 內核 定時器(timer)實現機制_linux內核定時器-CSDN博客 這里補充一些內容。定時器在mod_timer中是可能發生遷移的,從一個cpu遷移到另外一個cpu。目標cpu的選擇是
閱讀全文
摘要:
讀過qemu源碼的同學都會發現里面很多Type,object,class這些東西,這就是qemu的qom的組件。如果不能很好的理解qom模型就很難閱讀源碼。 qemu是c語言寫的,但是qemu需要模擬很多復雜的設備總線這些東西,而這些設備總線之間是存在一些共性和繼承關系的,也就是需要一些面向對象的描
閱讀全文