我们在装系统时会将swap分区分配内存的一般

例如:

当swap分区占用过大时我们有以下几个解决方法:

1、swap分区较小,恰好内存的free>swap used

swapoff -a && swapon -a #刷新交换分区将交换分区的缓存转回到内存

2、swap分区缓存占用>内存的free;这个时候刷新交换分区转回内存时:1、提示无法转换2、服务器内存耗尽直接造成宕机

这时我们查找swap分区占用的进程

命令#

for i in `cd /proc;ls |grep "^[0-9]"|awk ' $0 >100'` ;do awk '/Swap:/{a=a+$2}END{print '"$i"',a/1024"M"}' /proc/$i/smaps ;done |sort -k2nr

脚本#

#!/bin/bash  
# Get current swap usage for all running processes  
# Erik Ljungstrom 27/05/2011  
SUM=0  
OVERALL=0  
for DIR in `find /proc/ -maxdepth 1 -type d | egrep "^/proc/[0-9]"` ; do  
PID=`echo $DIR | cut -d / -f 3`  
PROGNAME=`ps -p $PID -o comm --no-headers`  
for SWAP in `grep Swap $DIR/smaps 2>/dev/null| awk '{ print $2 }'`  
do  
let SUM=$SUM+$SWAP  
done  
echo "PID=$PID - Swap used: $SUM - ($PROGNAME )"  
let OVERALL=$OVERALL+$SUM  
SUM=0  
  
done  
echo "Overall swap used: $OVERALL"

ll /proc/4174  #查找进程运行目录  

停止运行软件 

kill -9 4174 #释放swap空间

3、有些系统在创建时分配交换分区较小,可以扩展swap分区,没有多余磁盘的情况下;

[root@小梦想 home]# dd if=/dev/zero of=/home/swap bs=1024 count=512000 #512M
512000+0 records in
512000+0 records out
524288000 bytes (524 MB) copied, 1.2637 s, 415 MB/s
[root@小梦想 home]# mkswap /home/swap  #格式化为交换分区
mkswap: /home/swap: warning: don't erase bootbits sectors
        on whole disk. Use -f to force.
Setting up swapspace version 1, size = 511996 KiB
no label, UUID=155bb4be-29cb-4e95-9581-24e11be6188f
[root@小梦想 home]# swapon /home/swap #挂载创建的交换分区
[root@小梦想 home]# free -m

                    total       used       free     shared    buffers     cached
Mem:                 1024000       3550       282          0          4        166
-/+ buffers/cache:   3378       453
Swap:                3571       1495       2076
[root@小梦想 home]# swapoff /home/swap   #卸载新的交换分区

#将新建交换分区加入开机自启
 vim /etc/fstab    #在最后加入

/home/swap swap                    swap    defaults        0 0 

4、有时我们发现内存free 有很大空间swap分区还是占用了,这时我们可以优化swap

vm.swappiness优化:

swappiness的值的大小对如何使用swap分区是有着很大的联系的。swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间,swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。linux的基本默认设置为60,具体如下:

cat /proc/sys/vm/swappiness

60

也就是说,你的内存在使用到100-60=40%的时候,就开始出现有交换分区的使用。大家知道,内存的速度会比磁盘快很多,这样子会加大系统io,同时造的成大量页的换进换出,严重影响系统的性能,所以我们在操作系统层面,要尽可能使用内存,对该参数进行调整。

临时调整的方法如下,我们调成10:

sysctl vm.swappiness=10

vm.swappiness = 10

cat /proc/sys/vm/swappiness

10

这只是临时调整的方法,重启后会回到默认设置的

要想永久调整的话,需要将在/etc/sysctl.conf修改,加上:

cat /etc/sysctl.conf

vm.swappiness=10

SWAP优化请看!!

SWAP优化请看!!

SWAP优化请看!!
原文:https://blog.csdn.net/tenfyguo/article/details/50185915 

交换内存SWAP使用率90%相关推荐

  1. Linux中如何释放交换空间swap

    一.Linux内存机制简单介绍 直接从物理内存读写数据要比从硬盘读写数据要快的多(硬盘磁道寻址),因此,我们希望所有数据的读写都在内存完成,但是内存大小是有限的,并且内存价格高于硬盘价格,于是就有了物 ...

  2. ubuntu设置swap(交换内存)

    ubuntu设置swap(交换内存) 1.首先用命令free查看系统内Swap 分区大小 total used free shared buffers cacheMem: 1002 964 38 0 ...

  3. linux-物理内存不够,swap交换内存来凑

    1.前言 实际工作中,机器的物理内存是固定的,由内存条容量决定,不够的话容易导致内存溢出,影响程序运行,甚至直接死机.如果想拓展物理内存只能再买内存条或者换大内存条.但是不想换内存条的情况下,也可以通 ...

  4. swap(交换内存)和shm(共享内存)的区别

    关于swap和shm的区别 在使用docker的过程中,发现docker中有很多关于内存的命令,例如: -m="10g",docker的运行内存,按照官方文档描述,应该是对应于实际 ...

  5. 教你如何进行 linux swap 交换内存扩容

    导读 本文教你如何进行Linux系统的swap交换内容的扩容. swap交换内存主要是指当物理内存不够用时,系统会启用硬盘的一部分空间来充当服务器内存,而默认情况下swap内存会有一些设置标准,它与物 ...

  6. 服务器物理内存总是九十几,服务器物理内存使用率90以上

    服务器物理内存使用率90以上 内容精选 换一换 开启弹性云服务器的虚拟内存后,会导致硬盘I/O性能下降,因此,平台提供的Windows弹性云服务器默认未配置虚拟内存.如果弹性云服务器内存不足,建议通过 ...

  7. linux 8g内存 swap,linux可用内存足够为什么还用swap

    讨论这个问题前,我们先来看当前系统状态: 1[root@localhost ~]# free -m 2              total        used        free       ...

  8. 如何评估服务器基础性能 - CPU负载、使用率、内存磁盘使用率、网络带宽......

    文章目录 关注服务硬软指标 服务器关键指标 CPU 负载 CPU 使用率 网卡 IN & OUT 内存 & 磁盘 Q&A 附录 关注服务硬软指标 在搭建维护服务时,我们经常和服 ...

  9. 什么是交换(Swap)与伪交换(Pseudo swap)

    http://bbs.chinaunix.net/viewthread.php?tid=746261 与其他版本的 Unix 一样,HP-UX 也使用 Virtual Memory 将进程加载到内存中 ...

最新文章

  1. Day08 - 面向对象编程基础
  2. Typescript 基本类型
  3. 贝叶斯优化python包_Bayesian2D-用贝叶斯优化方法求任意二维函数的最大值或最小值的软件包-Juhan Raidal...
  4. 面向对象(封装对象private关键字)
  5. 目标检测——FCOS的学习笔记
  6. Macaron的注入struct
  7. Java开发实用的面试题及参考答案
  8. 初中计算机期末质量分析,初中信息技术教学感悟随笔
  9. 央行最新公布2019支付牌照持牌机构公司列表,共255家(附清单)
  10. Vue中配置代理服务器
  11. 计算机科学与技术考研双非,2021西安电子科技大学计算机科学与技术考研真题经验参考书...
  12. vue中runtimecompiler和runtimeonly的区别
  13. 翻译图片中文字的网站
  14. android 生成Excel表
  15. ENVI高光谱分析操作步骤
  16. 一款汇总了郭霖,鸿洋,以及自己平时收集的自定义控件集合库
  17. 微信小程序--视频播放器
  18. 基于深度学习的自动识别夹取机械臂
  19. 机器学习系统设计和诊断方法学习总结
  20. 深入浅出讲云计算——虚拟化

热门文章

  1. androidAPP调用第三方APP(java.lang.SecurityException: Permission Denial: starting Intent { flg=0x16c70 cm)
  2. 计算机加密防止文件外泄,电脑文档加密系统哪个好?文档加密软件如何防止文件流通使用泄密...
  3. 华为OD机试 - 模拟商场优惠打折
  4. oracle 918,Oracle00-918:未明确定义列的错误
  5. mysql数据库常见错误及解决方法
  6. Java--获取本机网卡上的所有ip
  7. 阿里云备案流程和操作步骤详解(图文教程)
  8. 【MySQL】 DATE_FORMAT() 格式化时间
  9. 6大科研神器,科研党必备,至少提高效率90%
  10. java日期格式化为json字符串,看这个就够了