看了本地运行占用内存是5.3g,我给系统加到了16g,此时应用成功启动了,我进入shell查看时发现我的应用进程只占用了5.7g,为什么8g的不行呀
Serverless应用引擎的内存使用量并不是固定的,而是会根据应用的实际情况动态调整。这是因为Serverless应用引擎采用了内存分片技术,可以将物理内存分割成多个逻辑内存块,每个逻辑内存块都可以独立地进行内存分配和释放。
当你给系统增加到16G时,应用成功启动了,说明系统有足够的内存资源供应用使用。至于应用进程只占用了5.7G,可能是因为当前应用的运行状态并不需要更多的内存,所以系统会自动地将多余的内存资源分配给其他的应用或者系统进程。
如果你发现应用在实际运行过程中经常出现内存不足的情况,你可以尝试增加系统的内存容量,或者优化应用的代码,减少不必要的内存消耗。
你free -h看看,cached也有5个多g。
此回答整理自钉群:【3群】Serverless应用引擎(SAE)用户群
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。