我在CentOS 5.5計算機上運行c程序。該程序運行一個循環,一次又一次地執行測試,直到被告知由外部源停止。如何處理別人驅動程序的內存泄漏
根據需要,我正在使用一箇舊的驅動程序用於與我的測試系統進行通信的PCI卡。從CentOS 4.5升級到5.5後,我注意到我只能循環執行175次程序。那時程序停止時會出現分配堆內存的錯誤。每次程序循環並且系統內存耗盡時,我都可以觀看10到20 MB的內存塊。當我使用Cntrl-C退出程序時,內存立即被釋放。
我已經使用了Valgrind,它指示內存泄漏在舊驅動程序中。寫驅動程序的公司現在只支持Windows,並且他們在5年之內沒有升級驅動程序。
沒有源代碼有什麼辦法可以釋放驅動程序每次循環使用我的程序時使用的內存?
謝謝。
驅動程序是否在用戶空間或內核空間中運行? – Novelocrat 2010-11-15 20:41:35