文档章节

阿里云CentOS服务器挂载Swap分区

VictorHu
 VictorHu
发布于 2015/11/06 13:12
字数 969
阅读 74
收藏 0

环境


Linux版本:CentOS 6.5

内容


在使用阿里云CentOS服务器的时候,发现Swap分区一直为0:

top - 17:55:41 up 2 days,  3:05,  2 users,  load average: 0.61, 0.36, 0.26
Tasks:  79 total,   2 running,  77 sleeping,   0 stopped,   0 zombie
Cpu(s):  2.0%us,  3.8%sy,  0.0%ni, 34.8%id, 58.4%wa,  0.3%hi,  0.7%si,  0.0%st
Mem:   1920740k total,  1381600k used,   539140k free,     7044k buffers
Swap:        0k total,        0k used,        0k free,   269528k cached

当时还没怎么注意,后来发现不太对。原来,默认阿里云服务器并没有划分Swap分区,只能自己添加了。 添加Swap分区通常有两种方法: 1.使用未划分的磁盘空间,创建一个分区,然后格式化为swap格式,之后挂载使用。 2.使用dd命令创建一个整块文件,然后格式化为swap格式,作为swap分区使用,之后挂载使用。当然这种方法创建的swap分区性能比第一种方法差一些。

我这里因为整个磁盘在系统初始化的的时候都已经被全部使用,所以只能采取第二种方法。

1.使用dd命令创建一个4G的整块文件

使用df命令查看所有已挂载的磁盘

[root@Serv105 ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1       20G  1.5G   18G   8% /
tmpfs           498M     0  498M   0% /dev/shm

可以看到里面并没有Swap分区。同时,通过free -m命令看到swap为0:

[root@Serv105 ~]$ free -m
       		  total       used       free     shared    buffers     cached
Mem:          1875       1632        243          0         29        435
-/+ buffers/cache:       1167        708
Swap:         0          0       0

使用dd命令初始化一个Swap文件:

[root@Serv105 ~]$ dd if=/dev/zero of=/var/swap bs=1M count=4096
4096+0 records in
4096+0 records out
4294967296 bytes (4.3 GB) copied, 92.0653 s, 46.7 MB/s

2.把/var/swap格式化为swap分区

[root@Serv105 ~]$ mkswap /var/swap
mkswap: /var/swap: warning: don't erase bootbits sectors on whole disk. Use -f to force.
Setting up swapspace version 1, size = 4194300 KiB
no label, UUID=7c0630eb-7c7c-4517-a566-5b2d060942c0

3.使用swapon命令开启交换分区

[root@Serv105 ~]$ swapon /var/swap

现在使用free -m命令查看,就可以看到Swap已经可以用了。

[root@Serv105 ~]$ free -m
			  total       used       free     shared    buffers     cached
Mem:          1875       1808         67          0          6       1389
-/+ buffers/cache:        412       1463
Swap:         4095          0       4095

4.设置开机自动挂载Swap分区

前面使用swapon开启交换分区的操作,在系统重启之后就会失效。所以,我们这里需要通过修改/etc/fstab文件,设置成开机自动挂载Swap分区。

[root@Serv105 ~]$ echo '/dev/swap    swap    ext3   defaults   0 0' >> /etc/fstab

5.设置Swap分区使用规则

Swap分区虽然已经启用,但是used一直为0。这是因为Swap分区的启用是有一定规则的。我们可以查看/proc/sys/vm/swappiness文件。

[root@Serv105 ~]# cat /proc/sys/vm/swappiness
0

这个值的意思就是:当内存使用100%-0%=100%的时候,采用Swap分区。当然,这个0的意思并不是绝对的当内存用完了到时候,才使用Swap,只是说尽可能不使用Swap。阿里云服务器默认这个值为0,是因为,采用Swap会频繁读取硬盘,加大IO负担。所以让程序运行尽可能的使用内存而不是Swap。当然,当内存吃紧的时候,还是要用的。这个值通常设置为40%-60%

[root@Serv105 ~]# echo "40">/proc/sys/vm/swappiness

这种修改方式只会临时有效,当系统重启之后,就会失效。想要彻底有效需要修改/etc/sysctl.conf配置文件,里面有一参数vm.swappiness = 0,把它修改为需要的值。

[root@Serv105 ~]# vi /etc/sysctl.conf
[root@Serv105 ~]# sysctl

这是因为系统启动的时候,会先读取/etc/sysctl.conf里面的参数vm.swappiness。通过这个参数来设置/proc/sys/vm/swappiness的值。

[root@Serv225 ~]# free -m
         	  total       used       free     shared    buffers     cached
Mem:          1875       1685        190          0        113        194
-/+ buffers/cache:       1377        498
Swap:         4095          5       4090

现在查看,Swap已经被使用了。

© 著作权归作者所有

共有 人打赏支持
VictorHu
粉丝 1
博文 12
码字总数 14462
作品 0
闵行
私信 提问
阿里云(腾讯云)Linux数据盘挂载

系统盘和数据盘 不管是在阿里云或者腾讯云上买服务器,一般每台都配有一个系统盘和数据盘。 腾讯云: 图(1) 阿里云: 图(2) 系统盘 相当于windows系统中的C盘,不用挂载即可直接使用,不过一...

Mr_OOO
2017/08/23
0
0
【教你玩转云计算】在阿里云一键安装快速部署Oracle11g

云计算时代提供了更方便可靠的IAAS,PAAS和SAAS平台。将已有或正在研发的项目迁移到云计算平台,和传统的服务器部署还是存在一些异同点。 本文手把手教你在阿里云平台快速的部署Oracle11g 环...

威卅信息
06/24
0
0
磁盘格式化、磁盘挂载、增加swap空间

Windows文件系统:NTFS、FAT32、FAT16 Linux文件系统: centos7-xfs默认 centos6-ext4 centos5-ext3 centos4-ext2 mkfs命令 用于在设备上创建Linux文件系统 mkfs.xfs /dev/sdb1 将sdb1分区格...

网虫变网工
2017/11/04
0
0
linux学习笔记-磁盘分区、格式化与挂载

磁盘分区、格式化与挂载 磁盘分区、格式化与挂载 一、给磁盘分区 分区工具介绍 fdisk:分区时只修改分区表信息;操作简单;不支持大于2T的分区;只能使用交互式来分区。 parted:直接将分区信息...

呀哈喽
2017/10/15
0
0
给阿里云的linux服务器添加swap分区

1、使用top命令查看当前系统是否有交换分区。 运行top命令后,可以在KiB Swap打头的那一行,看到交换分区相关信息。如果显示KiB Swap: 0 total 就说明没有交换分区。从top命令中退出使用“q...

编程老陆
05/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

降压变换器 Buck

特点 输入输出极性相同。 工作过程 在 MOS 导通时,输入电源通过 L 和 C 滤波后向负载端提供电流;当 MOS 断开后,L 通过二极管续流,保持负载电流连续。输出电压因为占空比的作用,不会超过...

colinux
今天
2
0
Apache日志不记录访问静态文件,访问日志切割,静态元素过期时间设置

Apache配置不记录访问静态文件的日志 网站大多元素为静态文件,如图片、css、js等,这些元素可以不用记录 vhost原始配置 <VirtualHost *:80> ServerAdmin test@163.com DocumentRoo...

野雪球
今天
3
0
聊聊storm的ICommitterTridentSpout

序 本文主要研究一下storm的ICommitterTridentSpout ICommitterTridentSpout storm-core-1.2.2-sources.jar!/org/apache/storm/trident/spout/ICommitterTridentSpout.java public interface......

go4it
今天
4
0
Ubuntu常用操作

查看端口号 netstat -anp |grep 端口号 查看已使用端口情况 netstat -nultp(此处不用加端口号) netstat -anp |grep 82查看82端口的使用情况 查找被占用的端口: netstat -tln netstat -tl...

hc321
昨天
4
0
网站cdn的静态资源突然访问变的缓慢,问题排查流程

1.首先我查看了一下是否自己的网络问题,通过对比其他资源的访问速度和下载速度,确认不是 2.通过ping 和 tracert 判断cdn域名能否正常访问,(最后回想感觉这一步可以省略,因为每次最终能访...

小海bug
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部