2010-05-20 33 views
0

我們有一個小型實用程序,它可以在我們的服務器上找到未使用的項目並將它們拉起來,然後將它們移動到jRuby中。當我們在需要清理的實際服務器上運行這些服務時,他們會在完成清理操作之前耗盡內存。 Java內存的高度可以讓我們在32位上穩定運行,而現在我們無法移動到64位,它的堆大小最大爲1800米。我們的主應用程序也在運行,我們希望避免關閉。系統創建的zip文件是800meg plus,還有什麼辦法可以做到這一點,而不是讓整個zip文件在內存中打開?jRuby Zip內存不足

+0

你使用的是什麼ZIP庫? Zip文件可以使用恆定空間內存創建。 – 2010-05-21 03:30:28

+0

只是jruby'zip/zip' – 2010-05-21 07:55:04

+0

ruby​​zip寶石,也許你正在使用?是的,我建議將文件移動到某個臨時目錄,然後對其運行gzip或不是。 – rogerdpack 2010-05-24 22:04:47

回答

1

你能通過命令行執行zip嗎?

你可能也想看看pbzip2,你仍然需要tar去做多個文件的存檔。

+0

這是一個好主意,看看我會檢查出來。 – 2010-05-20 17:08:22