perf引數問題處理

2021-09-03 02:04:43 字數 546 閱讀 1835

單板啟動後,會經常看到提示「perf  interrupt took too long (n > x)」,這樣的列印資訊。

/proc/sys/kernel/下

perf_cpu_time_max_percent:    perf分析工具最大能夠占用cpu效能的百分比0:不限制1~100:百分比值

perf_event_max_sample_rate:    設定perf_event的最大取樣速率,預設值為100000

perf取樣使用會占用cpu,所以預設限制最大是perf_cpu_time_max_percent=25

超過就會觸發上面這個告警,並調整取樣速率,保持不要超過限制,也就是說如果你設定了perf_event_max_sample_rate。

那麼出現上面這個告警後,perf_event_max_sample_rate的值會被調整。

可以通過調高perf_cpu_time_max_percent來解決。

如果調高也不能解決,就設定為0,此時就不會在去監控cpu的佔用率了。

perf工具crash的問題

perf抓取時系統crash的情況。找前同事了解到perf工具導致系統crash的一種情況,perf工具預設是使用cycles,這個硬體事件是使用nmi,可能會導致核心錯誤。之前文件上的perf命令更新下,指定使用軟體事件cpu clock 注意 不知道perf命令還有沒有別的坑,請注意生產上謹慎使...

再看perf是如何通過dwarf處理棧幀的

從結構體stack dump入手,util unwind libunwind local.c 中有函式access mem 0 access mem as 0x1f65bd0,addr 140221249831136,valp 0x7fffffffa930,write 0,arg 0x7ffffff...

springmvc關於引數的處理問題

1.2 requestparam引數繫結 1.3 重定向與flash屬性 1.4 modelattribute模型特性 二 action返回值型別 2.3 返回值為void 2.4 返回值為modelandview 2.5 返回值為map 2.6 返回值為任意型別 2.7 返回值為model型別 2...