Tomcat无故自动退出的问题
我在这篇文章<写一个脚本,自动启动Tomcat>中提到Tomcat会无缘无故退出,而且在日志中找不到原因.后来终于知道为什么了: 由于内存不足,被OOM Killer杀死的!由于是直接被系统进程杀死,所以它自己没有机会留下任何日志.
这是我偶然跟一个技术牛人提起这个事情的时候得到的提示,他说会不会是内存不足?我一想我们的服务器只有512M内存,确实有这个可能性,但服务器又没有图形界面,其运行环境应该还是挺纯粹的,不会消耗太多内存吧?不管怎么说,得找证据,证明这是由于内存不足引起的.功夫不负有心人,证据就在这里:
egrep -i 'killed process' /var/log/messages
自己看看吧.
怎么办?除了加内存,基本上没什么办法.我们使用的是阿里云服务器,加内存还是蛮简单的,垫点钱就行了,我把内存从512M加到了1G,对服务器来说,仍然是很寒酸的,想想10年前我买的个人电脑就已经有1G的内存了,不过对我们这种创业公司来说,钱是能省一点就省一点了,等需要的时候再给服务器扩容吧.
后来我再查看了下内存利用率,发觉Java真是不折不扣的内存杀手.反正用到现在给我感觉就是启动慢,消耗内存大.当然了,一旦真正跑了起来,速度还是可以的.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人