hellomsg
V2EX  ›  Java

那个 play 框架很占内存吗?

  •  
  •   hellomsg · May 17, 2015 · 6200 views
    This topic created in 4021 days ago, the information mentioned may be changed or developed.
    那个activator在1g内存的主机上新建个项目要分700多兆内存。。。
    Native memory allocation (malloc) failed to allocate 715849728 bytes for commi
    tting reserved memory.

    下载依赖比maven还要慢呢?

    各位有什么建议?play我下的是2.39,要用activator。
    Supplement 1  ·  May 17, 2015
    换了2.2x的play.zip没有上边配不来内存的问题了
    23 replies    2015-05-18 10:59:49 +08:00
    wintersun
        1
    wintersun  
       May 17, 2015
    个人看法:
    1、如果这个1G内存主机是服务器的话,为什么要在1G内存的主机上新建项目——理论上这是在开发机上做的动作,服务器只部署最终的包即可;
    2、下载依赖比maven还要慢呢=》首先你可以下载完整包;其次,创建项目时需要检查模板,我也遇到连不上服务器的情况,挂上代理即可,之后就不需要了。
    3、如果你服务器预算有限,建议不上Java,大可以用ROR,Python,PHP;如果一定要上Java,尽量减少依赖,直接Servlet+JSP!
    zonghua
        2
    zonghua  
       May 17, 2015
    @wintersun 就是自己写一个Servlet+JSP框架?我菜鸟用这两个东西做一个文章列表的分页都要折腾好久。
    msg7086
        3
    msg7086  
       May 17, 2015
    记得以前公司里上Java的机器都有32G内存以上。
    小内存怎么玩Java?
    hellomsg
        4
    hellomsg  
    OP
       May 17, 2015
    @wintersun 谢谢,明白了
    hellomsg
        5
    hellomsg  
    OP
       May 17, 2015
    @wintersun play只是个框架,自带的web服务器只是用来便于开发的,真正部署还得放在tomcat等web容器更好,对不对。
    asj
        6
    asj  
       May 17, 2015 via iPad
    @hellomsg 不对,play的服务器是与tomcat完全没关系的。只是较晚的版本才增加了导出war包以便在tomcat之类容器中执行的功能。
    hellomsg
        7
    hellomsg  
    OP
       May 17, 2015
    @asj 我正要说这个。以前其他项目都放在resin、tomcat里跑。现在用play感觉在服务器上直接用run要编译好半天,而且内存占的也挺高。有没有方法在开发机上编译好了放到服务器上直接运行的。
    cxshun
        8
    cxshun  
       May 17, 2015
    @hellomsg play有自己的容器,好久之前java版本的是netty,现在不知道换了没,跟tomcat,resin等没有一点关系。而至于activator,下一个完整包,但在新建项目的时候,它要下载亚马逊aws上面的东西,由于众所周知的原因,这家伙我们访问不了,翻墙就可以了。

    而play的占内存这点,因为依赖的东西比较多,这个不可避免,就跟你用SSH一样,分分钟占你1G内存没话说的,如果想尽量占少点内存,就跟@wintersun 说的一样,尽量少依赖,直接用jsp+servlet来写吧。

    作为一个java程序员,我已经觉得java在开发上面是过度复杂了,如果可能建议用ROR,python等来开发,开发效率高很多。
    hellomsg
        9
    hellomsg  
    OP
       May 17, 2015
    可能是我想多了,经验不厚哇。谢谢各位
    hellomsg
        10
    hellomsg  
    OP
       May 17, 2015
    @cxshun 非常感谢你的回答。
    msg7086
        11
    msg7086  
       May 17, 2015
    题外话,RoR我已经觉得很吃内存了,1G下跑unicorn开2线程就要经常担心爆内存mysql被杀掉。
    typcn
        12
    typcn  
       May 17, 2015
    没个 450G 内存还敢用 Jaaaavva ,放肆!
    sorry
        13
    sorry  
       May 17, 2015
    @msg7086 128M mini vps 跑java无压力,跑ibm针对小内存机器定制的jdk就流畅了
    msg7086
        14
    msg7086  
       May 17, 2015
    @sorry 竟有如此黑科技
    nightcat
        15
    nightcat  
       May 17, 2015
    @typcn hello 12dog,I'm 9bishi.
    asj
        16
    asj  
       May 17, 2015 via iPad
    @hellomsg dist
    ostholz
        17
    ostholz  
       May 17, 2015
    @typcn
    是 四 五十G的意思吧?
    xuwenmang
        18
    xuwenmang  
       May 17, 2015
    没个机房都别考虑用java部署。。
    typcn
        19
    typcn  
       May 17, 2015
    @ostholz 450 是个梗。。
    Troevil
        20
    Troevil  
       May 17, 2015
    醉了 LS不少都在吐槽 Java Web 内存占用 我512 跑的溜溜的
    mind3x
        21
    mind3x  
       May 18, 2015 via Android
    看到一群不负责任给人说用servlet+jsp的,现在是2000年吗?Java Web后端这么多好用的框架,随便弄个Spring Boot本地开发好了扔jar上去服务器跑就行。

    话说回来你1G内存的机器就不要想拿来做涉及JVM语言的*开发*环境,用什么现代的框架都是差不多out of memory。
    tamamaxox
        22
    tamamaxox  
       May 18, 2015
    lz 把开发模式直接搬上生成环境的话,真的不能怪play啊, activator dist
    zhangyang
        23
    zhangyang  
       May 18, 2015
    JSF挺好用的,play我写过,对MVC(MVVC)的抽象太简单了,轻量级,遇到负责的问题,还不如JSF来的快。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1479 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 57ms · UTC 17:00 · PVG 01:00 · LAX 10:00 · JFK 13:00
    ♥ Do have faith in what you're doing.