近日,我们开发发现有一台配置相同的服务器跑的特别慢,相同数据量的情况下,其他服务器只要跑10分钟,这台服务器要跑50分钟,经确认,所有的应用层配置参数都相同。上去之后,发现该服务器swap使用比较多,大概有8-10G左右(配置了32G,1:1),该服务器上的应用进程内存使用量(PSS)和其他服务器差不多,不存在特别多的情况。为了尽可能不使用交换区,将vm.swappiness设置为0了,重跑,发现运行一段时间之后,cached和free都没有了,swap又上去了,但是rss占用一直在十几个G(pss大约30G),和其他服务器没有太大的差别,按说不应该这么快就需要大量的交换区。查看sar -B,发现在运行缓慢的这段时间,有大量的majflt,如下:

对应这段时间的iowait也很高

但是有一个不匹配的奇怪现象,就是commit只有30%(commit是指为了保证不内存溢出,需要的物理内存总量),如下:

最后,将swap关掉,今天再观察情况。

注:swap本身并没有问题,使用swap的目的是为了应对突然高峰期时有应用内存剧增导致OOM,但是长时间的swap交换严重就会导致应用性能极端低下。如果这种情况不可避免,短时间内又无法扩充内存(不过现在的服务器,一般都可以最多插64根内存,目前单根主流为16GB(最大可达128GB单根,http://www.sohu.com/a/208300643_100034486),可以达到1TB内存),可以考虑将swap建在最快的磁盘上,尽可能的提高性能。

Linux 查看内存的插槽数,已经使用多少插槽.每条内存多大

dmidecode|grep -A5 "Memory Device"|grep Size|grep -v Range

linux交换区使用过多导致的性能问题相关推荐

  1. PostgreSQL 查询涉及分区表过多导致的性能问题 - 性能诊断与优化(大量BIND, spin lock, SLEEP进程)

    摘要: 标签 PostgreSQL , 分区表 , bind , spin lock , 性能分析 , sleep 进程 , CPU空转 , cache 背景 实际上我写过很多文档,关于分区表的优化: ...

  2. Linux下php-fpm进程过多导致内存耗尽问题解决

    当个人博客数据库服务经常突然挂断,造成无法访问时我们能做什么?本篇主题就是记录博主针对这一现象时发现问题,分析问题,最后解决问题的过程. 欢迎访问我的个人博客 发现问题 最近,发现个人博客的Linux ...

  3. Linux处理Redis连接数过多导致连接超时问题

    原因 redis服务器默认设置的最大连接数maxclients是10000,但是受服务器最大文件数影响,服务器默认最大文件数是1024 处理方案 修改limits.conf主配置文件 vim /etc ...

  4. linux交换内存_Linux中的交换内存如何工作?

    linux交换内存 To understand what Swap memory in Linux is, we will have a look at the concept of RAM and ...

  5. Linux内存耗尽宕机6,转载:Linux服务器Cache占用过多内存导致系统内存不足最终java应用程序崩溃解决方案...

    原文链接: https://blog.csdn.net/u014740338/article/details/66975550 问题描述 Linux内存使用量超过阈值,使得Java应用程序无可用内存, ...

  6. Linux 查看交换区内容,Unix: Unix/Linux/Win的虚拟交换区信息的查看

    Unix: Unix/Linux/Win的虚拟交换区信息的查看 Solaris ======= # swap -l swapfile             dev  swaplo blocks   ...

  7. Linux系统内存还有剩余就开始使用swap交换区了

    程序运行缓慢,查看内存剩余的时候发现Linux系统内存还有60G剩余就开始使用swap交换区了.发现vm/swappiness设置是默认值60,也就是内存使用超过40%(100-60)的时候就会使用交 ...

  8. Linux服务器Cache占用过多内存导致系统内存不足问题的排查解决

    Linux服务器Cache占用过多内存导致系统内存不足问题的排查解决 参考文章: (1)Linux服务器Cache占用过多内存导致系统内存不足问题的排查解决 (2)https://www.cnblog ...

  9. linux java缓存失效_转载:Linux服务器Cache占用过多内存导致系统内存不足最终java应用程序崩溃解决方案...

    原文链接: https://blog.csdn.net/u014740338/article/details/66975550 问题描述 Linux内存使用量超过阈值,使得Java应用程序无可用内存, ...

最新文章

  1. AC日记——[USACO07DEC]手链Charm Bracelet 洛谷 P2871
  2. Python这几个内置函数简直是屌爆了!!!
  3. 网狐棋牌(六) DataBaseEngine 和 网狐棋牌(七) CEventService
  4. 前端学习(2613):action的方法
  5. [UI] 精美UI界面欣赏[8]
  6. easyUI+servlet+mysql项目总结
  7. 阿里java规范_阿里Java规范
  8. x86基础之数与数据类型
  9. 抖音招商团长入驻条件
  10. Jquery引用在线CDN公共资源库
  11. Android小程序-乐学成语背景音乐(五)
  12. Linux监控平台介绍
  13. Debian apache
  14. 在线接口Mock工具fastmock详解
  15. 基于UE4 的AirSim虚拟仿真
  16. oracle修改clob值,oracle 修改 clob字段,查询clob字段
  17. LVGL 官方UI设计工具 EdgeLine代码移植
  18. 视频教程-通俗易懂的SVN入门教程(含配套资料)-Java
  19. 关注点云 专栏及博主
  20. SBFD(Seamless Bidirectional Forwarding Detection)

热门文章

  1. Hive-1.2.0学习笔记(四)Hive表管理
  2. Gnumeric,专业处理数字软件
  3. MongoDB数据库(二):增删查改
  4. redis的简易安装
  5. LINUX系统一一CentOS6.5之固化Ip
  6. Eclipse配置Tomcat并运行
  7. Archlinux 简明安装指南
  8. 使用内存映射文件来共享数据
  9. 读书笔记 effective c++ Item 41 理解隐式接口和编译期多态
  10. js和jquery获取父级元素、子级元素、兄弟元素的方法{转}