推荐关注
› Meteor
› JSLint - a JavaScript code quality tool
› jsFiddle
› D3.js
› WebStorm
推荐书目
› JavaScript 权威指南第 5 版
› Closure: The Definitive Guide
demo

刚刚写 JS 循环傻逼了,把 Chrome 玩死,内存吃满,只能关机重启

  •  
  •   demo · Mar 14, 2016 · 12283 views
    This topic created in 3892 days ago, the information mentioned may be changed or developed.

    首先我在这里,删除了代码里的 i++;

    http://www.w3school.com.cn/tiy/t.asp?f=js_loop_for_cars

    然后我调试自己的代码,直接 for (;i < _el.length;) { //其他代码 } ,也没有写 i++;, 然后就切换回编辑器继续写。

    过了一会我发现 iStat MEM 条快满了,我没在意,我想可能是程序开太多了吧。

    等我把 JS 代码写的差不多继续 Chrome 调试的时候。

    咦!鼠标怎么不动了!
    咦!!鼠标怎么变菊花了!!

    36 replies  •  2016-03-16 11:15:20 +08:00
    chairuosen
    chairuosen
    Mar 14, 2016
    1
    没听到 mac 起飞的声音?
    bzw875
    bzw875
    Mar 14, 2016❤️1
    2
    如果经常写出死循环,就断点调试咯,免得浏览器死掉
    wq2016
    wq2016
    Mar 14, 2016
    3
    @bzw875 说得对~
    demo
    demo
    OP
    Mar 14, 2016
    4
    @chairuosen 没有听见 QwQ
    @bzw875 今天脑抽了
    zhouyg
    zhouyg
    Mar 14, 2016
    5
    我偶尔也写个死循环,赶紧把 chrome 进程干掉就好了。没大碍
    deadEgg
    deadEgg
    Mar 14, 2016
    6
    原来 fir 也是这么玩死我机子的
    上传个包,发现电脑死了.
    联系客服,客服表示是 bug,不修

    从此 fir 一生黑
    kookxiang
    kookxiang
    Mar 14, 2016
    7
    Chrome 运行 15 秒(也有可能是 30 秒,不记得了)左右会自动提示代码执行时间过长,是否终止的
    demo
    demo
    OP
    Mar 14, 2016
    8
    @kookxiang 没有任何提示...
    domty
    domty
    Mar 14, 2016
    9
    我以前也干过,貌似你把 chrome 进程杀掉就可以了。
    js 好像是单线程操作的,这种循环基本上整张网页就啥都不干了。
    xidianlz
    xidianlz
    Mar 14, 2016
    10
    写写死循环没什么 执行了

    rm -rf /

    这个伟大的命令就开心了
    kirisetsz
    kirisetsz
    Mar 14, 2016 via Android
    11
    @kookxiang Firefox 有… chrome 有没有呢?不记得了嘿嘿
    jerray
    jerray
    Mar 14, 2016
    12
    V8 不是有内存上限来着么
    demo
    demo
    OP
    Mar 14, 2016 via iPhone
    13
    @domty 鼠标键盘全挂了
    maplerecall
    maplerecall
    Mar 14, 2016
    14
    之前 Chrome 控制台不小心写了个死循环没注意就放后台没管,放了一小时除了 CPU 风扇声音比较大没有任何问题…不过最后也只能直接杀将进程,整个控制台都未响应了…

    考虑到我是 Windows 可能内存管理机制不太一样所以没问题吧
    des
    des
    Mar 14, 2016
    15
    while(true){};
    也没死啊, 不知道你什么情况
    decaywood
    decaywood
    Mar 14, 2016
    16
    command + q
    bp0
    bp0
    Mar 14, 2016
    17
    @des 应该是 @demo 死循环中的 //其他代码 搞的鬼。只要有点动态创建的东西,就会慢慢把内存占满的。不然一个死循环顶多把 CPU 占满的,不至于整个系统都挂掉的。
    Neveroldmilk
    Neveroldmilk
    Mar 14, 2016
    18
    基本常识,三个空的 for 循环是自杀的最快道路。
    zonghua
    zonghua
    Mar 15, 2016
    19
    我也写过一个死循环,是一个 timeout 函数。
    vibbow
    vibbow
    Mar 15, 2016
    20
    #论 32 位浏览器的优势
    jsoh
    jsoh
    Mar 15, 2016
    21
    我也手贱了,不过只有当前窗口死掉了!
    Haku
    Haku
    Mar 15, 2016
    22
    chrome 的内存占用简直让人无语, 8g 内存经常被吃到只剩 2g ,连个 dota2 和 Chrome 同开都会卡
    haoxiaolei
    haoxiaolei
    Mar 15, 2016
    23
    冬天天冷时候经常这么干。
    Vonex
    Vonex
    Mar 15, 2016
    24
    不能强退吗
    flowfire
    flowfire
    Mar 15, 2016
    25
    @Vonex 占满内存和 cpu 没法强退
    flowfire
    flowfire
    Mar 15, 2016
    26
    @kookxiang 时间过长提示是否结束的是火狐。。。。 chrome 没有
    TakanashiAzusa
    TakanashiAzusa
    Mar 15, 2016
    27
    windows 下可以停止当前进程,不至于全死了。。但是不知道 mac 什么情况。。
    wweir
    wweir
    Mar 15, 2016
    28
    @xidianlz 新一点系统,这命令已经没什么危险性了,要加一个挺长的参数跳过安全模式才让执行
    hst001
    hst001
    Mar 15, 2016
    29
    @Haku 我也经常同开,但是不会卡
    reverland
    reverland
    Mar 15, 2016
    30
    firefox 有长时间无响应提醒,但并不代表就不会过热关机。。
    Lpl
    Lpl
    Mar 15, 2016
    31
    @xidianlz 哈哈,那天手贱的把公司服务器 var/lib 目录给 rm -rf 了。。。运维说你咋不直接在根目录下执行
    Khlieb
    Khlieb
    Mar 15, 2016 via Android
    32
    玩脱了
    allenx
    allenx
    Mar 15, 2016
    33
    楼主是单核机器?
    xidianlz
    xidianlz
    Mar 16, 2016
    34
    @wweir 这样 f 参数岂不是表示没用了
    @Lpl rm 之前看一看啊 之前删过自己机器上的用户目录,从此 rm 被 alias 成了 mv
    wweir
    wweir
    Mar 16, 2016
    35
    @xidianlz f 针对这条命令,确实没用了
    xidianlz
    xidianlz
    Mar 16, 2016
    36
    @wweir
    f : 没想到你是这样的 rm ,你让我 f 的脸往哪放
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2472 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 81ms · UTC 11:46 · PVG 19:46 · LAX 03:46 · JFK 06:46
    ♥ Do have faith in what you're doing.