linux中增加swap分区文件的步骤方法
一.swap交换分区
Swap分区在系统的物理内存不够用的时候,把硬盘空间中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。
用于当物理内存不足时,调用硬盘的一部分来充当内存使用,这个就是所谓的虚拟内存。其类似Windows的pagesfile.sys.
二.swap分区大小
分区时一般设定:swap分区的大小=1.5*物理内存容量。当内存比较小的时候(8G或8G以下),可以为内存的1.5-2倍(因为内存小的时候,内存很容易被充满,这个时候就要把交换分区分大点)。
正常情况下,当内存充足的时候,swap分区是不会被使用的,因此,一旦发生内存充足时,而swap使用了很多,说明应用程序等进程有内存泄露,此时就要和开发程序人员一起来分析哪里内存泄露,当系统使用swap分区用的越多,系统性能反而会下降,某些大型数据库也可能不使用swap分区,也是可以考虑的,不过,这也会带来内存耗尽,服务直接挂掉的风险。而swap是内存不够时的一个缓冲地带。虽然慢,服务器不会挂掉,这点就仁者见仁了。
三.linux中增加swap分区文件的步骤方法:
1、检查当前的分区情况(使用free -m或cat /proc/swaps ):
[root@iZ2zee7gmybverl53rfZ ~]# free -m
total used free shared buffers cached
Mem:
-/+ buffers/cache:
Swap:
[root@iZ2zee7gmybverl53rfZ ~]#
2、增加交换分区文件及大小:
检查没有swap,下面就需要增加:
判定新交换文件的大小,将大小乘以1024来判定块的大小。例如,大小为64MB的交换文件的块大小为65536,在 shell 提示下以根用户身份键入以下命令,其中的 count 等于想要的块大小。
[root@iZ2zee7gmybverl53rfZ ~]# dd if=/dev/zero of=/var/swap bs= count=
+ records in
+ records out
bytes (1.0 GB) copied, 27.1894 s, 38.6 MB/s
[root@iZ2zee7gmybverl53rfZ ~]# ll /var/swap
-rw-r--r-- root root Nov : /var/swap
[root@iZ2zee7gmy40tbverl53rfZ ~]# ll -h /var/swap
-rw-r--r-- root root 1000M Nov : /var/swap
3.使用以下命令来设置交换文件:
[root@iZ2zee7gmybverl53rfZ ~]# mkswap /var/swap
mkswap: /var/swap: warning: don't erase bootbits sectors
on whole disk. Use -f to force.
Setting up swapspace version , size = KiB
no label, UUID=fe9d1189-aaa7--a056-5126ee051632
[root@iZ2zee7gmy40tbverl53rfZ ~]#
4.启用交换分区文件:
要立即启用交换文件而不是在引导时自动启用,使用以下命令:
[root@db2 root]# swapon /var/swap
检查增加后的交换情况:
[root@iZ2zee7gmybverl53rfZ ~]# free -m
total used free shared buffers cached
Mem:
-/+ buffers/cache:
Swap:
[root@iZ2zee7gmybverl53rfZ ~]#
5.加入开机挂载
要在引导时启用,编辑 /etc/fstab 文件来包含以下行(/var/swap swap swap defaults 0 0 ):
[root@iZ2zee7gmybverl53rfZ ~]# cp /etc/fstab /etc/fstab.bak ###操作挂载文件时,一定要备份,否则修改失败时,会造成不能开机的危险。
[root@iZ2zee7gmy40tbverl53rfZ ~]# ll /etc/fstab* ###备份完毕后,检查是否备份成功
-rw-r--r-- 1 root root 693 Nov 16 14:28 /etc/fstab
-rw-r--r-- 1 root root 617 Nov 16 14:27 /etc/fstab.bak
[root@iZ2zee7gmybverl53rfZ ~]# cat /etc/fstab ## 修改完挂载文件后查看 #
# /etc/fstab
# Created by anaconda on Thu Feb ::
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(), findfs(), mount() and/or blkid() for more info
#
UUID=3d083579-f5d9-4df5--8d27925805d4 / ext4 defaults
tmpfs /dev/shm tmpfs defaults
devpts /dev/pts devpts gid=,mode=
sysfs /sys sysfs defaults
proc /proc proc defaults
/var/swap swap swap defaults
[root@iZ2zee7gmybverl53rfZ ~]#
系统下次引导时,它就会启用新建的交换文件 。
再次检查添加后的情况:
[root@iZ2zee7gmybverl53rfZ ~]# free -m
total used free shared buffers cached
Mem:
-/+ buffers/cache:
Swap:
[root@iZ2zee7gmybverl53rfZ ~]#
linux中增加swap分区文件的步骤方法的更多相关文章
- 树莓派进阶之路 (027) - 在Linux中增加swap空间
原贴地址:http://blog.csdn.net/chinalinuxzend/article/details/1759593 在Linux中增加swap空间 在安装Linux的时候,不知道swa ...
- 在Linux中增加swap空间
转自: http://blog.csdn.net/chinalinuxzend/article/details/1759593 在Linux中增加swap空间 在安装Linux的时候,不知道swap空 ...
- linux下增加swap分区
Swap交换分区概念 什么是Linux swap space呢?我们先来看看下面两段关于Linux swap space的英文介绍资料: Linux divides its physical RAM ...
- Linux中对swap分区的配置
swap分区的安装与正常分区的安装大致相同,我这里就只说一下不同 大家可先看我上一篇的安装:https://www.cnblogs.com/feiquan/p/9219447.html 1.查看swa ...
- 在OpenStack虚拟机实例中创建swap分区的一种方法
测试组里一个同学负责MapR的搭建,MapR文档中建议每个节点上至少有24GB的swap分区,不知道MapR为啥会有这种反人类的建议……swap无非就是一块顺序读写的磁盘空间,莫非省着内存不用,用sw ...
- Linux中增加软路由的两种方法/删除的方法
第一种: route add -net 172.16.6.0 netmask 255.255.255.0 gw 172.16.2.254 dev eth0 route del gw 172.1 ...
- Linux中的SWAP交换分区
大多数 Linux 在系统安装时都会提醒并建议你划分一个 SWAP 交换分区,如果你是从 Windows 切换到 Linux 的新用户,兴许对这个 SWAP 会感到十分疑惑. SWAP 交换分区到底是 ...
- LINUX新建和增加SWAP分区
我们都知道在安装Linux系统时在分区时可以分配swap分区,而系统安装后(在运行中)如何建立或调整swap分区呢? 在装完Linux系统之后,建立Swap分区有两种方法. 1.新建磁盘分区作为swa ...
- Linux增加swap分区的方法
在装完Linux系统之后,建立Swap分区有两种方法. 1.新建磁盘分区作为swap分区2.用文件作为swap分区 (操作更简单,我更常用) 一.新建磁盘分区作为swap分区 1. # swapoff ...
随机推荐
- php 删除指定文件 glob,unlink
我用最简单的语句写了一个php删除指定文件 因为一直越级挑战thinkphp,所以突然面对php有点无所适从了... 首先,php的运行机制,是一个语法就搞定了,还是非要用数据库,还是post什么的. ...
- ‘,’之后要留空格,如 Function(x, y, z)
‘,’之后要留空格,如 Function(x, y, z).如果‘;’不是一行的结束 符号,其后要留空格,如 for (initialization; condition; update). #inc ...
- linux -- Ubuntu 安装搜狗输入法
在Ubuntu Kylin系统中,默认安装搜狗拼音输入法,但是在原生Ubuntu系统中则不是.这可以理解,毕竟搜狗输入法的Linux版有Kylin团队的不小功劳.由于搜狗输入法确实比Linux系统下其 ...
- gen_server的模板
-module(first_gen_server).-behaviour(gen_server).-export([init/1, handle_call/3, handle_cast/2, hand ...
- 对sssp项目搭建的补充,总错误处理。
总错误处理,是为了在程序运行时代码出错能及时在控制台看出错误信息. 1. springMVC配置文件中: -------- 2.controller包中: 新建类FrameControllerAdvi ...
- mysql中什么是逻辑备份
需求描述: mysql中,或者说关系型数据库中逻辑备份到底指的是什么呢,主要还是对于 概念的理解,在此记录下. 概念解释: 逻辑备份:主要指的是保存数据库的逻辑结构(比如:create dattaba ...
- 【java】java 设计模式(4):建造者模式(Builder)
工厂类模式提供的是创建单个类的模式,而建造者模式则是将各种产品集中起来进行管理,用来创建复合对象,所谓复合对象就是指某个类具有不同的属性,其实建造者模式就是前面抽象工厂模式和最后的Test结合起来得到 ...
- 超全面的JavaWeb笔记day09<Servlet&GenericServlet&HttpServlet&ServletContext>
1.Servlet概述 2.Servlet接口 3.GenericServlet 4.HttpServlet 5.Servlet细节 6.ServletContext(重要) Servlet概述 生命 ...
- ios 显示代码块(show the code snippet library)
在项目的实际开发中,我们会重复的书写很多的代码,我经常是需要用到某一个功能,就从以前的项目中复制粘贴过来,很是麻烦 下面就为大家提供两种不错的方法, 一.宏定义,这个大家应该很熟悉,在这里就不做多的介 ...
- python2.0 s12 day8 _ socketserver学习
Socket 概念 一个socket就是一个点对点的链接.当今,大多数的通信都是基于Internet Protocl,因此大多数的网络Socket都是Internet Protocl(互联网)的通信( ...