减少JDK7和JRuby的段塞大小(或增加限制)

时间:2012-05-29 17:13:09

标签: heroku jruby java-7

我正在开发使用JDK7和JRuby 1.7.0.preview1的a fork Heroku buildpack for JRuby。好消息是它有效 - 坏消息是slu is非常大。一旦我将JRuby,JDK和“Hello,world”Rails 3应用程序捆绑在一起,压缩的段塞大小在部署时为98.4 MB。这并不奇怪,因为JDK是129 MB而JRuby是29 MB(都是未压缩的)。

由于Heroku对slug的限制为100MB,这使我几乎没有实际应用程序开发的空间 - 很容易看出即使是一个简单的Rails应用程序也会让我超过极限。

我已经从JDK和JRuby中删除了尽可能多的“可选”内容(源代码,文档,示例,x86_64之外的其他东西的本机库等)。我想知道是否有任何聪明的方法可以将物品移出子弹,进一步减少JDK或JRuby,或者实际增加允许的段塞尺寸。鉴于Heroku的buildpack支持以及将虚拟机和框架捆绑在一起的事实上的做法,100MB的限制比以前要低得多。

1 个答案:

答案 0 :(得分:1)

这不是我的区域,但我认为你可以通过JDK JAR并删除相当数量的服务器上没有意义的东西。我知道你删除了一些文件,但听起来并不像你修剪了你保留的任何JAR。例如,我只是走了一个高峰,看到了一堆Swing和AWT课程。那些人应该买几兆。我相信你比我知道的还有什么更好的候选人。

更新:我很好奇,所以我试了一下。我通过删除Swing和AWT节省了5.5MB。这似乎是一个可靠的开始,并且再一次,大概更熟悉的人可能会知道还有什么可能有意义去除。

更新2:我刚刚使用bzip2 --best重新压缩(解压缩的)java存档,保存了另外4.5MB,总共10MB。这个技巧只为jruby存档节省了半个meg,但这仍然使总数减少了10.5MB。