立刻有
全部
技术
PHP
MySQL
前端
Linux
JAVA
退出
编辑文章
选择分类
PHP
MySQL
前端
Linux
Java
工具
选择专栏
设计模式
java基础
Angular学习
Java面试题
描述:
Angular8运行npm run build killed
封面图上传 :
+
点击上传图片
最近Angular8 在编译时老师被killed 查看日志发现是内存溢出了 日志错误如下:tail -100f /var/log/messages ``` May 3 22:22:02 bobo kernel: [27020] 0 27020 458986 218818 1359 0 0 ng build --prod May 3 22:22:02 bobo kernel: [27027] 1000 27027 40470 162 34 0 0 top May 3 22:22:02 bobo kernel: Out of memory: Kill process 27020 (ng build --prod) score 453 or sacrifice child May 3 22:22:02 bobo kernel: Killed process 27020 (ng build --prod) total-vm:1835944kB, anon-rss:874252kB, file-rss:1020kB, shmem-rss:0kB ``` 查看linux的日志发现,内存溢出被杀进程,阿里云服务器就2个g,然后开了一下php和java服务占用好多,大概剩下600m,发现是LINUX内核Out-Of-Memory killer机制是一种防止内存耗尽影响系统运行而采用的一种自我保护机制。 根据内核源码oom_kill.c中的定义,系统会依据“进程占用的内存”,“进程运行的时间”,“进程的优先级”,“是否为 root 用户进程“,”子进程个数和占用内存“,”用户控制参数oom_adj ”等计算一个oom_score值,分数越高就越会被内核优先杀掉。 找到原因后,我先把部分进程杀了。同时通过node的内存设置来限制,通过package.json里面设置ng build命令,设置为如下: ``` "build": "node --max_old_space_size=700 ./node_modules/@angular/cli/bin/ng build --prod" ```
保存文章