全部
技术
PHP
MySQL
前端
Linux
JAVA
工具
纪念日计算器
邮记星
个人记账
笔记侠
历史上的今天
生日密码
生日书
生日密码
生日花语
博古通今
三十六计
鬼谷子
笑林广记
本草纲目
山海经
唐诗宋词
宋词300首
唐诗300首
退出
登录
注册
编辑文章
选择分类
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" ```
保存文章