2014-01-22 91 views
0

我正在使用Matlab R2010b作爲一組外部工具的驅動程序。基本上,Matlab做了一些數據轉換,將東西寫入磁盤,使用system等調用外部腳本等等。如何防止Matlab入睡

我從來沒有在Matlab中花費數天時間進行批量計算的任何問題,但顯然我現在做錯了什麼。每隔不定時,管道完全堵塞。沒有任何事情發生,沒有外部腳本被調用,愛的勞動力失去了。在Matlab中按下ctrl+c會再次移動。因此,我假設問題是Matlab。

有沒有暫停在管道中,也不是我使用睡眠排序的任何變種。守則發生在代碼中完全隨機的地方,似乎在至少一小時的完美工作後開始發生。由於Matlab代碼基本上是一個巨大的循環,對我來說這是一個完全的謎團(邏輯假設,如果一個循環的主體一旦工作,它應該繼續工作)。它似乎與電源管理沒有任何關係(就像我說的,過去我已經成功完成了大量的長時間計算)。這就是爲什麼我認爲它與Matlab +腳本的組合有關。

有沒有人經歷過類似的東西(並希望能夠解決它)?

+0

好吧,閱讀你的描述我不會責怪Matlab。這在系統中是Matlab進程的一個問題(它正在等待一些資源或類似的東西)。系統中的事件有什麼不尋常之處?你測試過系統是否有病毒,測試內存,測試磁盤?你能把整個系統放在另一臺機器上嗎? – hesar

+0

@hesar我無法發現任何不尋常的事件。我有大量可用的內存/硬盤空間,當流水線停滯時,所有內核的CPU使用率降至空閒水平(例如沒有競爭進程)。沒有發現病毒。我假設內存和磁盤都很好,因爲我使用的其他類似於Matlab的驅動程序工作正常(Python)。 –

+0

是否有java漏洞?即當您增加Java堆內存時,問題是否消失/需要更長時間? – Jonas

回答

0

你可以保持你的Matlab忙於更小的工作之間的較大的一個。這可能會揭示你的系統。從大量較小的工作開始,然後較小數量的較大工作,獲得某種瓶頸閾值...