分析核心問題的工具

2021-07-02 19:39:51 字數 732 閱讀 6854

1.objdump

objdump -d -l vmlinux > ***.txt

objdump --help 看常用的引數[-d disassemble ]

2.gdb

gdb tool 並不是只對 應用程式的

gdb vmlinux

gdb c *(address) 可以看到具體的函式和檔名

gdb disassemble (function name)

可以用多個gdb 命令

3.1 config_lockdep

3.2 softlock

4.debug_kmemleak

mount -t debugfs nodev /sys/kernel/debug/

echo clear > /sys/kernel/debug/kmemleak

echo scan=10 > /sys/kernel/debug/kmemleak

cat /sys/kernel/debu/kmemleak

該工具監測的是使用 kmalloc/ vmalloc/ kmem_cache_alloc 函式分配的記憶體,而page 還有 ioremap分配的記憶體不能被監測到.

4. top 命令可以看到一直在執行的程序等;

5. /proc目錄下有多個反應核心狀態的資訊

6. ftrace

7. crash

需要記憶體的轉儲檔案,檢視變數的內容,當前程序,棧的資訊等.

Docker 簡要分析核心問題

q 接觸docker不久,從乙個底層問題引發的思考 linux宿主機能否執行不同linux發行版本的image?linux宿主機能否執行不同linux核心版本的image?a 可以的.只要滿足條件 cpu架構一致,核心版本相容即可。不一定.一般的上層軟體沒有問題,如果是偏嵌入式底層的軟體,可能會因為...

Redis核心問題

幾個redis的核心問題 1 怎麼實現redis高可用集群?2 redis為什麼採用hash slot 而不用一致性hash演算法?3 redis分布式鎖存在什麼問題?怎麼解決?4 為什麼redis可以採用單執行緒?5 怎麼解決熱點資料問題?6 有哪些記憶體淘汰的方式?7 怎麼解決記憶體橫向擴充套件...

32,64核心問題

smitty system 是這樣的只要把aio開啟就可以了在smitty裡面就可以 你要安裝bos.64bit這個檔案集!首先用如下命令確定當前的所使用的kernel ls l unix lrwxrwxrwx 1 root system 21 may 06 2001 unix usr lib bo...