文档章节

内存溢出(oom)和内存泄露(leak)

苗永超
 苗永超
发布于 2016/02/20 21:17
字数 356
阅读 248
收藏 4

     在系统内存严重不足时,可能触发OOM killer。

     1.OOM kiler

        a. 问:oom_score的默认值是多少?    

            答:0,oom_score=0时禁止内核杀死进程。

        b. 问:oom_score如何设置?

            答:两个方式,手动设置或通过oom_adj计算。

                   计算:oom_score=2^n, n=oom_adj, oom_adj取值范围为15~-16。

       

     2.四种内存泄露类型

          a. 常发性内存泄露:内存泄露代码会被多次执行,每次执行都会泄露一部分内存;

          b. 偶发性内存泄露:只有在特殊条件下才会发生的泄露,正常情况不容易测试到,在特殊环境下,偶发性也会变成常发性;

          c. 一次性内存泄露:发生内存泄露的代码只会被执行一次,例如构造函数中的代码;

          d. 隐式内存泄露:运行中分配内存,结束时释放内存,例如函数内。严格说这里并没有发生内存泄露,因为程序最终释放了所申请的内存。但是对于一个服务器程序,需要长时间运行,不及时释放内存也可能导致最终耗尽系统的所有内存; 


     参考文档:

    《Linux内存溢出(oom)和内存泄露(leak)》  http://www.it165.net/os/html/201405/8168.html  

    《Linux内核panic》http://blog.csdn.net/ylyuanlu/article/details/9115159


© 著作权归作者所有

上一篇: 什么是Docker容器
下一篇: swappiness
苗永超
粉丝 15
博文 57
码字总数 14075
作品 0
海淀
后端工程师
私信 提问
Android内存泄漏与内存溢出,怎么检测与防止

1.基本概念 内存溢出(out of memory)是指程序在申请内存时,没有足够的内存空间供其使用,出现OOM,比如一个Android 进程可以供使用的内存只有1.1M,但是 处理一个Bitmap申请了1.2M,就会OOM...

iSnowFlake
2016/01/06
28
0
Android:内存控制及OOM处理

OOM(内存溢出)和Memory Leak(内存泄露)有什么关系? OOM可能是因为Memory Leak,也可能是你的应用本身就比较耗内存(比如图片浏览型的)。所以,出现OOM不一定是Memory Leak。 同样,Mem...

Xushao
2013/05/07
0
1
内存溢出与内存泄露

两者的区别: 内存溢出 (out of memory) : 指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。 内存...

HappyBKs
2015/10/20
117
0
Java常见问题分析(内存溢出、内存泄露、线程阻塞等)

Java垃圾回收机制(GC) 1.1 GC机制作用 1.2 堆内存3代分布(年轻代、老年代、持久代) 1.3 GC分类 1.4 GC过程 Java应用内存问题分析 2.1 Java内存划分 2.2 Java常见内存问题 2.3 ML(内存泄...

Java高级架构
2018/09/03
0
0
java虚拟机运行时的内存分类以及出现异常分析(jvm之一)

java虚拟机所管理的内存包括以下几个运行时数据区域: 方法区(Method Area):线程共享的,存放已被虚拟机记载的类信息、常量、静态变量等数据。“永久代(Permanent Generation)” 虚拟机...

zhengDavid
2012/06/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

2019年普通高校在川招生专业及名额介绍文科 带学费

2019年普通高校在川招生专业及名额介绍文科 带学费

asdtiang
12分钟前
0
0
springCloud配置中心config配置svn(踩坑记录)(基于consul)

新建一个config Server模块; 引入如下依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId></dependency>......

为何不可1995
12分钟前
0
0
mysql相关tips(持续更新)

1.字符集:utf8mb4 mysql 5.5.3之后出来的字符集,占用1-4个字节,最大占用的字节数为4.目前这个字段主要应用在(Emoji表情)。utf8mb4兼容utf8(1-3个字节),且比utf8能表示更多的字符。什...

lara_
13分钟前
0
0
微服务开源生态报告 No.1

从关注开源,到使用开源,再到参与开源贡献,越来越多的国内开发者通过开源技术来构建业务。 截止目前,Arthas / Dubbo / ChaosBalde / Nacos / RocketMQ / Seata / Sentinel / Spring Clou...

阿里云官方博客
16分钟前
1
0
MaxCompute 费用暴涨之存储压缩率降低导致SQL输入量变大

现象:同样的SQL,每天处理的数据行数差不多,但是费用突然暴涨甚至会翻数倍。 分析: 我们先明确MaxCompute SQL后付费的计费公式:一条SQL执行的费用=扫描输入量 ️ SQL复杂度 ️ 0.3(¥/GB...

zhaowei121
17分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部