Java应用异常状态监测

  1. 云栖社区>
  2. 阿里云分布式应用服务>
  3. 博客>
  4. 正文

Java应用异常状态监测

中间件小哥 2018-06-25 18:02:44 浏览4481
展开阅读全文

老板最近分派了一个任务,说线上客户在部署应用的时候发生了系统级别的OOM,触发了OOM Killer杀掉了应用,让我们解决这个问题。

对于这个任务,我从如下几点开始调研、分析与解决。

1、什么是系统级别的OOM(Out-Of-Memory)?

当创建进程时,进程都会建立起自己的虚拟地址空间(对于32位系统来说为4g)。这些虚拟地址空间并不等同于物理内存,只有进程访问这些地址空间时,操作系统才会为其分配物理内存并建立映射。关于虚拟内存和物理内存有很多资料,这里不再赘述,这篇文章写的通俗易懂,可以看下。

通过虚拟内存技术,操作系统可以允许多个进程同时运行,即便它们的虚拟内存加起来远超过系统的物理内存(和swap空间)。如果这些进程不断访问其虚拟地址,操作系统不得不为它们分配物理内存,当到达一个临界点时,操作系统耗尽了所有的物理内存和swap空

网友评论

登录后评论
0/500
评论
中间件小哥
+ 关注
所属云栖号: 阿里云分布式应用服务