我在Eclipse中運行一個大的JUnit插件測試套件時出現了一個奇怪而且有壓力的問題。當我嘗試重新運行剛剛執行過的JUnit插件套件時,Eclipse在最終喚醒並啓動之前掛起了相當長的一段時間。有時可能需要5分鐘,隨着套件的大小而增加。從表面上看,它顯示爲GC清理,不同的是我有足夠的GC空間(400 MB可自由分配)。Eclipse JUnit插件測試在Windows上重新執行測試套件非常緩慢
需要刪除的工作區大小遠低於1 GB,並且沒有太多文件 - 絕對小於20,000。
當我等待新的運行開始時,我決定手動殺死explorer.exe
以查看它是否有任何效果。令人驚訝的是,Eclipse瞬間脫落並正常運行。
這讓我覺得Windows在某種程度上干擾了這些工作區文件的刪除。儘管他們沒有被放入回收站。該工作空間位於C:
,我認爲它超出了任何工作空間/域名的範圍。有任何想法嗎?
編輯:我使用Eclipse 3.5.2,JRE 1.6.02,JUnit 3.沒有什麼不尋常的。我很確定這不是內存泄漏;它從來沒有與OOM例外崩潰(如果是這樣,我可以用MemoryAnalyzer輕鬆分析它)。
經過進一步調查時,它是凍結,的確是由於刪除文件。工作空間的初始大小約爲20000個文件/ 5000個目錄,可用100MB。我可以看到文件被刪除,並且最終工作空間是空的,Eclipse不會凍結。
我已提交Eclipse Bug 311814關於此問題。
我發佈了第一個答案,但如果您使用Eclipse,Java,JUnit版本完成了該問題,並且如果您指出它是否掛起爲0%或者之前顯示了(甚至很小)% J =單位停止並等待。 – VonC 2010-05-05 06:08:33
類似的問題與Indigo Build ID:20120216-1857,OpenJDK 6 6b24-1.11.1-4ubuntu2,JUnit 4.9,在Xubunutu 12.04 – user454322 2012-05-09 09:05:13