linux交换区使用过多导致的性能问题

摘要:
最近,我们发现具有相同配置的服务器运行速度非常慢。对于相同数量的数据,其他服务器只需要运行10分钟,而此服务器需要运行50分钟。确认所有应用层配置参数相同。升级后,我们发现服务器使用了大量交换,大约8-10G(32G,1:1)。此服务器上的应用程序进程内存使用情况(PSS)与其他服务器类似,没有特殊情况。要尽可能避免使用交换区域,请设置vm。swappiness设置为0,重新运行,然后找到

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

linux交换区使用过多导致的性能问题第1张

对应这段时间的iowait也很高

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

 linux交换区使用过多导致的性能问题第2张

最后,将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交换区使用过多导致的性能问题》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Nodejs进阶书籍STM32之ADC配置,ADC_Mode模式理解下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

《马哥出品高薪linux运维教程》wingkeung学习笔记-linux基础入门课程

计算机原理概念: 1、CPU和内存中的存储单元通信线路称为总线(BUS),总线是被指令和数据复用的,所以也称为前端总线。 2、计算机中计算频率的时间标准即晶体振荡器原理,精确计算时间长度,根据相同的时间统计变化的次数,即保持时钟同步。 3、每一个芯片在厂家生产时都有一个以微码(汇编语言)形式存在内置接口,完成一定意义上的智能操作。 4、CPU中控制器在未从...

Kali Linux 2020.1安装以及安装后要做的事

Kali Linux是基于Debian的Linux发行版,预装了许多渗透测试软件,让大家从各种繁琐的软件安装中解脱出来,专注于测试本身。 本文章介绍了如何安装目前最新的2020.1版本,以及安装好后补充安装的一些安全测试工具。 先附上几个kali相关的网站: https://www.kali.org/docs/ https://kali.training/...

Linux磁盘设备文件(sda,sdb,sdc…)变化问题

在Linux下往往会碰到这样的问题,磁盘的设备文件,比如/dev/sda, sdb, sdc等等在某些情况下会混乱掉,比如sda变成了sdb或者sdc变成了sdb等等,这样无形中会导致磁盘设备管理的混乱,最常见的比如Linux文件系统的启动问题。很多人在遇到这种问题的时候都去找磁盘、阵列厂家,怀疑是他们的问题,其实这种底层的磁盘(单个磁盘或者RAID阵...

linux系统下oracle表空间占用情况

1、我们先查询表空间的占用情况,使用sql如下: select upper(f.tablespace_name) "表空间名", d.tot_grootte_mb "表空间大小(M)", d.tot_grootte_mb - f.total_bytes "已使用空间(M)", to_char(round((d.to...

linux 安装 sftp

1,sftp:登陆命令 Xshell:> sftp root@192.168.159.128 Connecting to 192.168.159.128:22... Connection established. To escape to local shell, press 'Ctrl+Alt+]'. Your current local dire...

puTTY与SecureCRT的比较

从网上看到别人对这两个工具的比较:从windows访问linux,除了samba之外,日常操作用得最多的大概就是PuTTY和SecureCRTPutty是免费的,SecureCRT是收费的(当然,有破解版)。 Putty缺省配置就很好看很好用,SecureCRT的缺省配置不是为linux准备的而且很难看。Putty拿来就可以立刻使用,SecureCRT需要...