`
MauerSu
  • 浏览: 515053 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Swap对响应时间敏感应用的影响

 
阅读更多
源:http://blog.hesey.net/2014/05/swap-impact-on-rt-sensitive-apps.html
评:


最近排查的一个线上应用load高的问题,和GC以及Swap有关系。

现象是机器load突然升高,查看占用CPU的线程发现是JVM自己的线程。

jstat发现一个奇怪的现象,Eden Gen到了100%之后会持续好几秒,但Old Gen没有明显增大,说明并不是Eden Gen不够用promote到Old Gen了,感觉似乎是Young GC出了问题。

进一步查看GC Log,发现一次Young GC要1秒多,正常情况下20~30ms都应该结束了。

然而仔细去看那条log会发现CPU消耗并不高:

    [Times: user=0.23 sys=0.00, real=1.31 secs]

多出来的时间如果不在CPU上,那就是耗在了I/O上了,GC的I/O不会在网络上,只能是磁盘了。

free -m看了下,果然Swap的空间快被用满了都。

在排查到最终的内存原因前,先把Swap关掉:

sudo swapoff -a

对于Web应用等对响应时间(rt)非常敏感的系统来说,关闭Swap通常都是一个好的实践。

因为一般来说宁愿应用OOM挂掉也不愿意导致rt飙高,使得应用hang在那里的。

另外建议开启这两个参数:

    -XX:+HeapDumpOnOutOfMemoryError
    -XX:HeapDumpPath=path

帮助你在发生OOM时dump heap,一般这时候的heap dump质量都比较高:)
Written by Hesey Wang in: Java,Linux,技术 |
一条评论 »

    diwayou

    swap绝对是隐患啊,线上一般都是关闭的

    [回复]
分享到:
评论

相关推荐

    生产服务器环境最小化安装后Centos6.5优化配置[文].pdf

    12. **日志审计**:启用`auditd`服务,对系统进行安全审计,记录敏感操作,便于追踪异常行为。 13. **磁盘I/O优化**:对于I/O密集型应用,可以启用文件系统缓存,如`noatime`和`nodiratime`挂载选项,减少不必要的...

    《计算机组装与维护》期末考试试卷宣贯.pdf

    5. LCD显示器的主要性能指标包括分辨率、响应时间和刷新率,但坏点通常在购买时关注,而非使用中考虑。 6. ATX机箱是目前的主流机箱类型,设计更加合理,便于硬件安装和散热。 7. 硬盘对振动最敏感,需要避免振动和...

    LT4363计数文档

    综合上述特点,LT4363是一款功能强大、应用灵活的电源管理芯片,适用于多种电压敏感的电子系统,它不仅提供了硬件级的保护功能,还具有灵活的关断和重启策略,以适应各种复杂的运行条件和故障处理需求。

    10种软件滤波方法的示例程序

    例如,限幅滤波适用于快速响应,中位值滤波适用于消除脉冲噪声,而加权递推平均滤波则能根据权重分配对不同时间段的数据给予不同的重视程度。在实际应用中,可能需要根据系统的噪声特性、实时性需求以及计算资源等...

    AIX 5L(v5.2)性能管理指南.pdf

    通过对AIX 5L v5.2 性能管理的深入了解和实践,企业可以有效地监控和优化其系统的性能表现,从而确保关键业务应用的稳定运行。这不仅有助于降低成本,还能提高用户满意度和服务质量。随着技术的发展,性能管理工具和...

    每个Linux管理员都应该知道的20个系统监视工具

    默认情况下,`top` 命令会显示系统中最“敏感”的任务列表,即CPU占用率较高的任务。 - **功能**: - 实时更新进程列表。 - 显示进程的PID、用户、CPU使用率、内存使用量等信息。 - 提供多种排序方式,例如按照...

    java-面试题合集,基础,进阶

    - **Concurrent Mark Sweep (CMS)**:低停顿时间,适用于响应时间敏感的应用。 - **Garbage First (G1)**:基于Region的分区式垃圾回收器,适合大内存应用。 9. **垃圾回收算法**: - **标记-清除**:先标记后...

    linux嵌入式考试题.doc

    在嵌入式应用开发中,实时性和确定性是非常关键的特性,这关系到系统的响应速度和稳定性,特别是在需要快速处理输入输出和时间敏感的任务中。 Linux分区默认类型为ext2,这是一种较老但可靠的文件系统格式,不过...

    东北大学_操作系统复习提纲

    - 定义:从用户提交请求到系统开始响应所需的时间。 - 重要性:衡量交互系统的性能指标之一。 11. **信号量 (Semaphore)** - 定义:用于解决进程同步问题的一种机制,通过加锁解锁的方式来控制进程的执行顺序。 ...

    C++程序设计语言(特别版)

    模板函数如`std::swap`,模板类如`std::vector`都是模板应用的例子。 异常处理是C++中错误处理的一种方式。通过try、catch和throw关键字,可以在可能出现错误的地方抛出异常,然后在适当的地方捕获并处理异常,从而...

    Aquila:内存中分布式缓存存储

    作为一款关键的中间件,它可以帮助企业解决大数据处理中的延迟问题,提升应用的响应速度。 1. **分布式架构** 分布式架构是天鹰座的核心特点,它允许多个节点协同工作,将数据分散存储在不同的服务器上,通过负载...

    Armv8-A Instruction Set Architecture_armv8指令集_ARMv8_源码.zip

    ARMv8架构是 ARM 公司开发的一种先进的处理器架构,主要应用于移动设备、服务器和嵌入式系统。这个压缩包中的“Armv8-A Instruction Set Architecture_armv8指令集_ARMv8_源码.zip”很可能包含了关于ARMv8-A指令集的...

    电源技术中的超低噪声的DC/DC 封装器件—LTM8032

    5. **低噪声设计**:作为一款超低噪声器件,LTM8032特别适合对电源噪声敏感的应用,如高精度测量、通信设备和医疗设备。 6. **紧凑封装**:采用9mm x 15mm x 2.82mm的模压树脂焊盘网格阵列(LGA)封装,高度仅为...

    java面试常见基础(深层次,高级研发)

    - **并发收集器**:低停顿时间收集器,适合对响应时间敏感的应用。 ##### 2.5 辅助信息参数设置 - `-XX:+PrintGCDetails`: 打印详细的GC日志。 - `-XX:+UseParallelGC`: 使用并行垃圾回收器。 ##### 2.6 关于参数...

    C++入门经典

    - **多态**:多态是指允许不同类的对象对同一消息做出响应的能力。它可以表现为重载(overloading)和重写(overriding)两种形式。 - **封装**:封装是指隐藏对象的具体实现细节,并仅通过公共接口访问对象。 ####...

    LTC4280 - 具 I2C 兼容型监视功能的热插拔控制器

    这为系统提供了额外的故障响应灵活性,可以根据实际应用场景调整过流保护的敏感度。 此外,LTC4280还具备一系列附加功能,如在故障发生时向主机发送中断信号,通知系统当前状态;当输出电源状态正常时,会发送通报...

    C-plus-plus

    多态性则允许不同类型的对象对同一消息作出不同的响应,增强了程序的灵活性。 模板是C++中的另一大特色,它提供了泛型编程的能力。模板可以用于创建函数和类,使得编写能够处理不同类型数据的代码变得更加简单和...

Global site tag (gtag.js) - Google Analytics