Chinaunix首页 | 论坛 | 博客
  • 博客访问: 13790
  • 博文数量: 12
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 130
  • 用 户 组: 普通用户
  • 注册时间: 2018-11-24 14:37
文章分类
文章存档

2019年(8)

2018年(4)

我的朋友

分类: 服务器与存储

2018-12-29 15:34:27

  之前有用户反映,打开搬瓦工VPS的 KiwiVM 面板,发现面板上有一个 Swap 的状态条,后面已经显示了红色,并且显示满了,这时候该怎么办?今天,搬瓦工中文指南网(bwh.idcspy.com)就来说明一下这个 Swap 满了的原因和解决方法。
  
  一、SWAP 满了的原因和影响
  
  1、什么是 Swap
  
  Linux 中 Swap(即:交换分区),类似于 Windows 的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况。
  
  具体来说,Linux 内核为了提高读写效率与速度,会将文件在内存中进行缓存,这部分内存就是 Cache Memory (缓存内存)。即使你的程序运行结束后,Cache Memory 也不会自动释放。这就会导致你在 Linux 系统中程序频繁读写文件后,你会发现可用物理内存变少。当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到 Swap 空间中,等到那些程序要运行时,再从 Swap 分区中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行 Swap 交换。
  
  2、怎么查看 Swap
  
  除了在 KiwiVM 面板中查看,还能通过 SSH 登陆 VPS 之后再查看,登陆之后,输入下面命令:free -h  ,就会显示 Swap 和可用的 Swap 大小。
  
  3、Swap 满了的原因
  
  这个原因很多,可能是开的进程太多了,占用太多的内存以致占用了很多的缓存,也可能是别的进程死了,但是缓存没有清除。
  
  总之,就是系统资源使用的比较多导致的。具体是什么进程占用的,还需要我们使用 top 命令或者 ps 命令来排查。
  
  Swap 满了没啥影响,只要 CPU 不满、内存不满,Swap 满了也无所谓。
  
  二、Swap 满了的解决方法
  
  解决方法很简单,主要有两种:
  
  1、重启
  
  重启了,Swap 自然也被释放了。但是这不是根本的解决方法,过一阵子之后,进程多了,Swap 估计又会满了。
  
  2、增加 Swap
  
  新建分区作为swap分区,这个是Linode的默认做法。
  
  使用fdisk创建交换分区(假设是 /dev/sdb2);
  
  使用 mkswap 设置交换分区:mkswap /dev/sdb2
  
  启用交换分区:swapon /dev/sdb2
  
  写入 /etc/fstab:/dev/sdb2 swap swap defaults 0 0
阅读(965) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~