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

###最後發現的確是內存的緣由 輸入圖片說明進程

相關文章
相關標籤/搜索