單板啟動後,會經常看到提示「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...