• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            專職C++

            不能停止的腳步

              C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
              163 Posts :: 7 Stories :: 135 Comments :: 0 Trackbacks

            常用鏈接

            留言簿(28)

            我參與的團隊

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            在使用appium的過程中,發現有內存泄露,最后就process out of memory了,就掛了
            網上用使用增加運行內存的方式(還是抗不住),沒辦法,就只好找出內存泄露的地方了
            對node.js很多文章,都是說用memwatch,結果發現,這個是一個死項目,有四年沒有更新過了,在現有的環境下,是沒有辦法編譯的。
            然后又有一個memwatch-next,顧名思義,就是memwatch的下一個版本,結果是果然也可以編譯,一些事件也支持,但是要headdump后要end后,就掛了。
            國內,也只有這么多了,用百度,你一萬年都別想解決問題,估計找成人不宜的東西,百度世界第一名,google也不比過百度
            只好翻出去,有人說到node-headdump,然后,就可以用了。
            首先它有C++的部分,所以需要安裝C++編譯環境  
            1.安裝node-gpy
            cmd>npm install -g node-gyp
            2.安裝python 2.7.x 
            安裝過程,默認就可以了
            如果你有裝多個python,如3.x,運行的時候,需要指定python 2.7
            cmd>node-gyp --python /path/to/python2.7
            然后配置python環境
            cmd>npm config set python python2.7
            強烈要求,不要用3.x,只用2.7.x就可以了  
            為什么?因為2.7.x比3.x成熟,另外3.x和2.x差別太大了,很難兼容。
            3.安裝windows編譯工具
            在windows的cmd下(需管理員權限)
            npm install --global --production windows-build-tools
            4.安裝C++編譯器
            有兩個選擇,
            一個是Visual C++ Build Tools ,地址:http://landinghub.visualstudio.com/visual-cpp-build-tools
            這是一個獨立的編譯和庫(有2015,2017兩個版本,隨便選一個,我建議2015,因為2017還不知道有什么問題)
            另一個是安裝vs2015 最新版本是vs2015 up3了  用搜索一下,就可以找到安裝文件
            安裝完成后,配置環境:
            cmd>npm config set msvs_version 2015
            有了上面四步:node-heapdump的編譯環境就OK了
            5.安裝node-heapdump
            在你項目所在目錄,執行命令
            cmd>npm install heapdump
            我的環境是node 6.9.x 所以用最新版本就可以了
            下面,我們就來使用heapdump
            首先引用heapdump
            import heapdump from "heapdump";

            function showMemory() {
                function f(v) {
                    if (v < 1024) return v.toString(10);
                    else if (v < 1048576) {   //1M
                        return (v / 1024).toFixed(2) + "KB";
                    }
                    else if (v < 1073741824) //1M
                    {
                        return (v / 1048576).toFixed(2) + "MB";
                    }
                    else {
                        return (v / 1073741824).toFixed(2) + "GB";  //1G
                    }
                }
                {
                    //打印并顯示當前堆的情況 可以去掉這個部分
                    let d = process.memoryUsage();
                    let strRss = f(d.rss);
                    let strheapTotal = f(d.heapTotal);
                    let strheapUsed = f(d.heapUsed);
                    let strDate = new Date().toLocaleString();
                    console.log(`memory: ${strDate}: rss:${strRss}, heapTotal:${strheapTotal}, heapUsed:${strheapUsed}`, );
                }
                heapdump.writeSnapshot('d:/tmp/dump/' + Date.now() + '.heapsnapshot');  //堆快照必須.heapsnapshot,否則在后面使用chrome的時候,會報錯。
            }

            setInterval(showMemory, 5000);  //這里設定了,每5秒打印一次。

            然后就可以運行了。
            在得到很多heapsnapshot后,再用chrome瀏覽器,按F12,進入開發模式
            然后如下圖所示操作,將相鄰的幾個快照依次加載
            加載后,處理方式有四種,分別是summary,comparison,cotainment,statistics,這里,我選擇comparison,就能看到當前內存快照和上一個內存快照的差異。
            posted on 2017-02-23 14:28 冬瓜 閱讀(2521) 評論(0)  編輯 收藏 引用 所屬分類: appiumjavascript
            91超碰碰碰碰久久久久久综合| 国产精品久久久久久久| 久久综合偷偷噜噜噜色| 亚洲国产精品一区二区久久| 久久人人爽人人精品视频| 色播久久人人爽人人爽人人片AV| 亚洲国产另类久久久精品小说| 狠狠色丁香婷婷久久综合不卡| 久久伊人亚洲AV无码网站| 久久不见久久见免费视频7| 国产精品成人久久久久久久| 久久亚洲sm情趣捆绑调教| 亚洲国产成人久久综合一 | 色综合久久中文字幕无码| 久久99国产精品久久99果冻传媒| 蜜臀久久99精品久久久久久 | 久久99国产综合精品免费| 国内精品久久久久久久久| 久久久久久亚洲精品成人| 欧美一区二区久久精品| 精品久久久久久99人妻| 97久久精品人妻人人搡人人玩 | 草草久久久无码国产专区| 精品久久人妻av中文字幕| 久久久SS麻豆欧美国产日韩| 久久人人爽人人爽人人片AV麻豆 | 久久国产免费直播| 日韩影院久久| 久久久久国产成人精品亚洲午夜| 99久久国产热无码精品免费| 无码人妻精品一区二区三区久久 | 久久99精品久久久久久久久久| 一个色综合久久| 成人综合久久精品色婷婷 | 狠狠色丁香婷综合久久| 亚洲国产欧洲综合997久久| 亚洲av日韩精品久久久久久a| 国产成人精品久久| 精品国产青草久久久久福利| 亚洲成色WWW久久网站| 久久亚洲欧美国产精品|