文档章节

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

VictorHu
 VictorHu
发布于 2015/11/06 13:12
字数 969
阅读 46
收藏 0
点赞 0
评论 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服务器添加swap分区

1、首先创建用户交换分区的文件。 这样创建1G的分区文件 2、初始化分区文件 3、启动交换分区 4、设置开机自动挂载 添加 /mnt/swap swap swap defaults 0 0 5、设置使用swap分区的阀值 修改文...

编程老陆
05/25
0
0
Amazon EC2分区

亚马逊云主机Amazon EC2主机为开发者提供了一条免费途径不过需要信用卡申请,也蛮麻烦,公司海外业务用到过亚马逊云,个人感觉centos选镜像定制实例挂磁盘和国内差不多,不过亚马逊加的硬盘刚...

hnxy2001
2016/08/15
0
0
linux学习笔记-磁盘分区、格式化与挂载

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

呀哈喽
2017/10/15
0
0
Linux内存做硬盘

Linux内存做硬盘 C/C++程序员之家2017-11-231 阅读 运维Linux 大内存Linux服务器的另类应用:内存做为硬盘!极速读写!(Linux内存做硬盘) tmpfs简介 tmpfs是Linux/Unix系统上的一种基于内存...

C/C++程序员之家
2017/11/23
0
0
给Centos系统的SWAP空间进行扩容

Linux中Swap(即:交换分区),类似于Windows的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况。Android是基于Linux的操作系统,所以也可以使...

qq512430
2017/04/01
0
0
12.8 Linux发展及VMware创建CentOS虚拟机

12.8 Linux发展及VMware创建CentOS虚拟机 内容: 1. Linux发展 人物和事件 2. Linux发行版本 3. 通过VMware 搭建CentOs 系统 4. 通过xshell连接 5. 无法连接服务器排错 6. 云服务器的简单原理...

千古东风
2017/12/17
0
0
Extmail简单搭建

一、简介 在当今的社会中,如果没有电子邮件(E-mail)似乎是一件很奇怪的事儿,可以说现在E-mail已经成为人与人之间的一个很普通的沟通渠道了,电子邮件可以很快速地帮你将文件或信息传送到...

Bella小旭
2017/02/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

实现异步有哪些方法

有哪些方法可以实现异步呢? 方式一:java 线程池 示例: @Test public final void test_ThreadPool() throws InterruptedException { ScheduledThreadPoolExecutor scheduledThre......

黄威
今天
0
0
linux服务器修改mtu值优化cpu

一、jumbo frames 相关 1、什么是jumbo frames Jumbo frames 是指比标准Ethernet Frames长的frame,即比1518/1522 bit大的frames,Jumbo frame的大小是每个设备厂商规定的,不属于IEEE标准;...

六库科技
今天
0
0
牛客网刷题

1. 二维数组中的查找(难度:易) 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入...

大不了敲一辈子代码
今天
0
0
linux系统的任务计划、服务管理

linux任务计划cron 在linux下,有时候要在我们不在的时候执行一项命令,或启动一个脚本,可以使用任务计划cron功能。 任务计划要用crontab命令完成 选项: -u 指定某个用户,不加-u表示当前用...

黄昏残影
昨天
0
0
设计模式:单例模式

单例模式的定义是确保某个类在任何情况下都只有一个实例,并且需要提供一个全局的访问点供调用者访问该实例的一种模式。 实现以上模式基于以下必须遵守的两点: 1.构造方法私有化 2.提供一个...

人觉非常君
昨天
0
0
《Linux Perf Master》Edition 0.4 发布

在线阅读:https://riboseyim.gitbook.io/perf 在线阅读:https://www.gitbook.com/book/riboseyim/linux-perf-master/details 百度网盘【pdf、mobi、ePub】:https://pan.baidu.com/s/1C20T......

RiboseYim
昨天
1
0
conda 换源

https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels https://mir......

阿豪boy
昨天
1
0
Confluence 6 安装补丁类文件

Atlassian 支持或者 Atlassian 缺陷修复小组可能针对有一些关键问题会提供补丁来解决这些问题,但是这些问题还没有放到下一个更新版本中。这些问题将会使用 Class 类文件同时在官方 Jira bug...

honeymose
昨天
0
0
非常实用的IDEA插件之总结

1、Alibaba Java Coding Guidelines 经过247天的持续研发,阿里巴巴于10月14日在杭州云栖大会上,正式发布众所期待的《阿里巴巴Java开发规约》扫描插件!该插件由阿里巴巴P3C项目组研发。P3C...

Gibbons
昨天
1
0
Tomcat介绍,安装jdk,安装tomcat,配置Tomcat监听80端口

Tomcat介绍 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。 java程序写的网站用tomcat+jdk来运行...

TaoXu
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部