V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hellomsg
V2EX  ›  Java

那个 play 框架很占内存吗?

  •  
  •   hellomsg · 2015-05-17 09:55:25 +08:00 · 5299 次点击
    这是一个创建于 3267 天前的主题,其中的信息可能已经有所发展或是发生改变。
    那个activator在1g内存的主机上新建个项目要分700多兆内存。。。
    Native memory allocation (malloc) failed to allocate 715849728 bytes for commi
    tting reserved memory.

    下载依赖比maven还要慢呢?

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

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

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

    话说回来你1G内存的机器就不要想拿来做涉及JVM语言的*开发*环境,用什么现代的框架都是差不多out of memory。
    tamamaxox
        22
    tamamaxox  
       2015-05-18 08:53:59 +08:00
    lz 把开发模式直接搬上生成环境的话,真的不能怪play啊, activator dist
    zhangyang
        23
    zhangyang  
       2015-05-18 10:59:49 +08:00
    JSF挺好用的,play我写过,对MVC(MVVC)的抽象太简单了,轻量级,遇到负责的问题,还不如JSF来的快。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5349 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 09:12 · PVG 17:12 · LAX 02:12 · JFK 05:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.