因查詢linux系統下 kworker占用過高的原因,用perf工具來分析。
perf為 linux kernel自帶的效能檢測工具。
在linux3.10核心下編譯perf工具。
1. cd 到 kerne/tools/perf路徑下
2.export path=/home/huanghm/work/dsp_rv1108/prebuilts/toolschain/usr/bin:$path
export cross_compile=arm-linux-
export arch=arm
3.開啟perf下的makefile檔案,找到
ifneq ($(call try-cc,$(source_libelf),$(flags_libelf),libelf),y)
flags_glibc=$(all_cflags) $(all_ldflags)
ifeq ($(call try-cc,$(source_glibc),$(flags_glibc),glibc),y)
libc_support := 1
$(warning $(arch))
endif
ifeq ($(bionic),1)
libc_support := 1
$(warning $(arch))
endif
在endif末尾加上libc_support := 1
於是變成
ifneq ($(call try-cc,$(source_libelf),$(flags_libelf),libelf),y)
flags_glibc=$(all_cflags) $(all_ldflags)
ifeq ($(call try-cc,$(source_glibc),$(flags_glibc),glibc),y)
libc_support := 1
$(warning $(arch))
endif
ifeq ($(bionic),1)
libc_support := 1
$(warning $(arch))
endif
libc_support := 1
4.執行make,就能成功編譯出perf。
file perf
perf: elf 32-bit lsb executable, arm, eabi5 version 1 (sysv), dynamically linked, interpreter /lib/ld-uclibc.so.0, not stripped
ARM Linux下交叉編譯lzo
進入lzo 2.03目錄下 lzo 2.03 configure host arm unknown linux gnu prefix home lanpeng arm lzo 引數解釋 host host arm unknown linux gnu 是你的交叉編譯工具的名字。prefix home ...
交叉編譯環境下的perf使用
perf作為linux下效能分析的利器,對比其他類似功能的軟體具有特定的優勢,例如免費,對應用程式效能影響小等等,使用比較廣泛。但是在嵌入式linux開發時,為了分析應用程式的效能,在嵌入式環境直接使用perf工具有些限制。例如flash空間小,無法儲存較大的程式。這個時候交叉分析就很有必要了,即在...
arm Linux下boost庫交叉編譯
arm linux下boost庫交叉編譯 from 1.首先執行boost解壓目錄下的 bootstrap.sh 2.修改生成的project config.jam檔案 修改 using gcc arm arm none linux gnueabi gcc 注 注意要有空格!修改 這邊不改也沒事 o...