问题来源
问题来源于cnode社区:node启动占用内存的问题。
自己本地跑了一下,乖乖不得了,启动一个 node,什么都不做。结果是这样子的:果然900+M
。
我的电脑信息:
$cat /proc/version
Linux version 4.13.0-38-generic (buildd@lgw01-amd64-027) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.9)) #43~16.04.1-Ubuntu SMP Wed Mar 14 17:48:43 UTC 2018
$cat /proc/cpuinfo | grep processor
processor : 0
processor : 1
processor : 2
processor : 3
我们知道,进程真正从OS拿到的内存是RSS,一般意义上讲,进程占了多少内存就是这个RSS。因此,cnode 社区的这个标题有点欠妥。
那么我就求证一下 node 到底在哪里申请了这么多虚拟内存。
求证过程
pmap
查看虚拟内存使用情况
下面命令输出中把一些100KB
以下的信息省略,有兴趣的同学可以自己查看。