libook
2017-02-24 18:37:06 +08:00
我在 0.12 时代用 node 的时候遇到过内存泄漏问题,真是有内存泄露的话内存占用会持续攀升,直到把 V8 的额定内存空间( 64 位是 1.7G 左右)甚至系统内存空间用满。
你提供的数据差距太小,十几 M 的内存差距不好说明什么,最好做一下压测。
不知道你的压测是怎么测试的,一般压测的话都会是多线程高并发请求,比如 5 台机器每台异步发送请求,但台机器的请求频率从每秒 20 个递增到 2000 个,然后监控服务器和 node 进程的各项参数,如果有内存泄漏的话不需要那么长时间,只需要量就可以堆上来。
通常极少会看到 node 程序将内存用满,通常是 CPU 用满或者连接数用满,如果你的 node 程序不是很特殊的程序的话,你只需要在压测递增压力的时候观察一下是不是内存先于 CPU 吃满,如果是的话就说明可能有内存泄漏问题,没有的话基本上就不需要担心。
实际上在 node4.0 之后已经很少遇见内存泄漏问题了。
还有一个办法就是去 nodejs 官方的 github 上看对应版本目前 open 的 issue ,是否有和内存泄漏相关的问题。