2013-01-15 36 views
2

我試圖用top來證明我在Leopardboard(embedded-linux)目標上的test進程有內存泄漏。爲什麼這個命令爲什麼這個嵌入式Linux頂級命令失敗?

/ # top -b | grep test >> /media/top.txt & 

似乎立即死亡?

[3]+ Stopped (tty output)  top -b | grep test 1>>/media/top.txt 

我看到的是已經產生了一個空文件

-rwxr-xr-x 1 root  root    0 Jan 15 15:35 top.txt 

頂部並在交互模式產生輸出這樣

1079  1 root  S 83668 289% 17% test 

,但我需要記錄會發生什麼變化內存爲這個過程在很長一段時間內提交。

+0

您可能需要與控制終端完全斷開連接,例如使用可能在系統上可能有或沒有相應實用程序的setsid()調用。 –

回答

2

聽起來就像你有一個錯誤{top | shell | grep}按照相似的順序;)我猜這是一個基於busybox的系統?

也許更好的選擇是編寫一個簡單的腳本來監視進程通過/ proc文件系統的直接統計信息。您感興趣的某些條目可能是

的/ proc //地圖 - 關於當前映射的內存區域

信息

的/ proc // smaps - 內存消耗爲每個進程的映射

的/ proc // stat - 一些有用的統計信息,包括常駐集大小(總當前內存使用量)

手冊頁過程(5)有關於這些/ proc /條目中包含的信息的更多信息。

快樂狩獵!

+0

是的,busybox。咩。 – jacknad