npm install killed

昨天在测试服自动化部署前端代码时,老是失败,而后进到服务器手动构建,发如今npm install的时候耗时很长,并且老是会自动被kill掉,一直不明白是什么缘由,去找node和npm版本的问题也一无所得,后来想到咱们鸡肋的测试服(1G1CPU1M,固然生产服也差很少),多是由于资源不足致使的进程被kill前端

npm 打印

top统计

能够看到cpu使用率几乎100% 输入图片说明node

在执行npm install是明显看到cpu执行上升 输入图片说明linux

处理

因为代码在本地打包的时候没有任何问题,结合上面的内容,基本上能够说是机器资源不足致使的进程被kill,在这里一般是cpu和n内存,cpu是无法控制了,毕竟老板以为一台服务器就能够上天了,不过能够经过swap来缓解下内存的问题npm

swap

###检查swap空间,屁都没得缓存

[node@iZ28tmashffZ ~]$ swapon -s
Filename				Type		Size	Used	Priority
[node@iZ28tmashffZ ~]$

###建立swap分区文件服务器

[node@iZ28tmashffZ var]$ sudo dd if=/dev/zero of=swapfile bs=1024 count=1048576
[sudo] password for node: 

1048576+0 records in
1048576+0 records out
1073741824 bytes (1.1 GB) copied, 20.2998 s, 52.9 MB/s

注意:因为我是在var目录下,并且目标文件没有加路径,因此上面的命令和下面是等价的。上面的命令大致意思是,/dev/zero是一个输入设备源源不断输出0来初始化/var/swapfile文件,设置读写缓存块大小,每一个block是1024b=1K,初始化10241024个(一般状况下linux下的1G=10001024),结果是初始化了一个大小为1G的文件(/dev/zero是源,/dev/null是黑洞)测试

sudo dd if=/dev/zero of=/var/swapfile bs=1024 count=1048576

###格式化新建的SWAP分区spa

[node@iZ28tmashffZ var]$ sudo mkswap /var/swapfile
mkswap: /var/swapfile: warning: don't erase bootbits sectors
        on whole disk. Use -f to force.
Setting up swapspace version 1, size = 1048572 KiB
no label, UUID=84f6cb67-bfdd-4b77-9223-c8f8990ed052

###将swap文件变成swap分区code

[node@iZ28tmashffZ var]$ sudo swapon /var/swapfile
[node@iZ28tmashffZ var]$ swapon -s
Filename				Type		Size	Used	Priority
/var/swapfile                           file		1048572	0	-1

###最后发现的确是内存的缘由 输入图片说明进程

相关文章
相关标签/搜索