源: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绝对是隐患啊,线上一般都是关闭的
[回复]
分享到:
相关推荐
基于LH-OAT方法的SWAP-EPIC模型参数敏感性分析,能锋田,姜瑶,综述文章:以背景、研究现状、研究用途的结构书写,篇幅以150~300字左右为宜,不用第一人称做主语,不与正文语句重复。一般研究性
swap logisim emmm 电路
swap电路:当输入c=0时,输出x等于输入a,输出y等于输入b。当输入c=1时,则交换两输出,即输出y等于输入a
Swap的调整对Linux服务器,特别是Web服务器的性能至关重要。通过调整Swap,有时可以越过系统性能瓶颈,节省系统升级费用。Swap空间的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存 中的一部分...
用于查看LINUX下进程占用SWAP大小
增大swap分区.txt增大swap分区.txt增大swap分区.txt增大swap分区.txt增大swap分区.txt增大swap分区.txt增大swap分区.txt增大swap分区.txt增大swap分区.txt
修改swap分区大小方法,如果安装完linux后感觉swap分区不够用,可以尝试此方法。
使用python完成的faceswap程序,使用单张图片完成对人脸的三维建模
如果你的硬盘空间已经全部分配给其他分区,也没有多余的预算新添购硬盘,可以利用swap文件的方式增加虚拟的swap空间,不过执行性能会较实际的swap分区差。
openwrt swap启用脚本
faceswap完整项目!
SWAP 使用logisim实现swap功能
Linux修改Swap大小.
基于SWAP的旱稻灌溉模式及地下水埋深对灌溉的影响研究,李小梅,崔远来,摘要:针对旱稻品种HD297,于2003至2004年在河南柳园口灌区惠北灌溉试验站开展了旱稻不同灌溉制度的试验,根据试验获取的不同灌溉制�
windows下浏览ext、swap分区
2.创建SWAP文件 mkfile nnn filename mkfile 100m swapfile 3.激活swap /usr/sbin/swap -a /path/filename -d (删除多余swap空间) 4. vi /etc/vfstab /path/filename - - swap - no - 5. 检验 /usr/sbin/swap...
SUSE上扩容Swap空间方法,让你真正体验Linux系统的强大吧。
PCB swap pinlist 输出转换工具
介绍: ubuntu系统增加swap分区
linux扩展linux swap分区和根目录空间不足