我可以配置進入Linux核心轉儲的內容嗎?我想獲得像Windows迷你轉儲(應用程序崩潰時有關棧幀的最少信息)之類的內容。我知道你可以使用ulimit
來設置核心文件的最大尺寸,但是這不允許我控制核心內部的內容(即,不能保證如果將限制設置爲64kb,它將轉儲最後16頁的例如堆棧)。最小核心轉儲(堆棧跟蹤+僅當前幀)
另外,如果可能的話,我想以編程方式(從代碼)設置它。 我看過man core
提到的/proc/PID/coredump_filter
文件,但它對我的目的來說似乎過於粗糙。爲了提供一個小背景:我需要小型核心文件,原因有很多:我需要通過網絡爲大量(數千)客戶端收集它們;此外,這些是帶有少量SD卡的嵌入式設備,以及用於網絡連接的GPRS調制解調器。因此,大於200k的任何事情都不成問題。
編輯:我正在運行Linux 2.6.24的嵌入式設備上工作。處理器是PowerPC。不幸的是,PowerPC的Linux是目前在breakpad不支持,因此谷歌breakpad是不是一種選擇
我不知道,答案可能在於內核源代碼(因爲沒有與此相關的規範)。你爲什麼要問?對於當前的磁盤,64Mb核心轉儲限制仍然很小,並且很可能包含足夠的信息。爲什麼你需要將極限設置爲64kb這樣的小數值。 ? – 2012-01-12 14:18:56
Google Breakpad在包括Linux在內的所有平臺上編寫小型轉儲程序。 – 2012-01-12 14:38:39
我問,因爲我正在使用一個嵌入式設備,它有一個小的閃存盤,尤其是一個緩慢的gprs連接來下載數據..我希望它儘可能小! – 2012-01-12 15:02:06