文档章节

Linux 上交换分区的简单操作

l
 linux-tao
发布于 2017/09/10 16:40
字数 1641
阅读 9
收藏 0
点赞 0
评论 0
导读 用户可以在任何 Linux 操作系统的安装过程中或者是其它必要的时候创建交换空间。如果你在安装 Linux 的时候忘记了创建或是你想要再增加交换分区的空间,你随时都可以再创建或增加。

有时候在你安装后摇升级 RAM 的时候需要增加一点交换分区的空间,比如你要将你的系统的 RAM 从 1GB 升级到 2GB 你,那么你就不得不将你的交换分区空间也升级一下(从 2GB 到 4GB),这是因为它使用的容量是物理 RAM 的双倍容量。(LCTT 译注:其实这里是个误区,交换分区不一定非得是双倍的物理内存容量,只是惯例如此。事实上,如果你的物理内存足够的话,你完全可以不用交换分区——在这里的情形下,或许你增加了物理内存,就没必要增加交换分区大小了。)

交换空间是当物理内存(RAM 随机存取存储器)的用量已满时,被保留用作虚拟内存的磁盘上的空间。 如果系统在 RAM 满载时需要更多的内存资源,内存中的非活动页面将被移动到交换空间,这样可以帮助系统运行应用程序更多的时间,但不应该把它当做 RAM 的扩展。

建议你创建一个专用的交换分区,但是如果你没有可用的分区,那么可以使用交换文件,或交换分区和交换文件的组合。 交换空间通常建议用户至少 4 GB,用户也可以根据自己的要求和环境创建交换空间。

我发现大部分 VM 和 云服务器都没有交换分区,所以在这种情况下,我们可以使用以下三种方法创建,扩展或增加交换空间。

如何检测当前交换分区大小

通过 free & swapon 命令来检测当前的交换分区空间的大小。

$ free -h

total used free shared buff/cache available

Mem: 2.0G 1.3G 139M 45M 483M 426M

Swap: 2.0G 655M 1.4G

$ swapon --show

NAME TYPE SIZE USED PRIO

/dev/sda5 partition 2G 655.2M -1

上面的输出显示了当前的交换分区空间是 2GB 。

方法 1 : 通过 fallocate 命令创建交换文件

fallocate 程序是立即创建预分配大小的文件的最佳方法。

下面这个命令会创建一个 1GB 大小 的 /swapfile。

$ sudo fallocate -l 1G /swapfile

检查一下创建的文件的大小是否正确。

$ ls -lh /swapfile

-rw-r--r-- 1 root root 1.0G Jun 7 09:49 /swapfile

将该文件的权限设置为 600 这样只有 root 用户可以访问这个文件。

$ sudo chmod 600 /swapfile

通过运行以下的命令来将此文件转换为交换文件。

$ sudo mkswap /swapfile

Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes)

no label, UUID=cda50e0e-41f3-49c7-af61-b8cb4a33a464

通过运行以下的命令来使交换文件生效。

$ sudo swapon /swapfile

将新创建的交换文件添加到 fstab 文件中,这样交换分区空间的修改即使在重启后也可以生效。

$ vi /etc/fstab

/swapfile swap swap defaults 0 0

检查一下新创建的交换文件。

$ swapon --show

NAME TYPE SIZE USED PRIO

/dev/sda5 partition 2G 657.8M -1

/swapfile file 1024M 0B -2

现在我可以看到一个新的  1GB 的 /swapfile1 文件了。重启系统以使新的交换文件生效。

方法 2 : 通过 dd 命令来创建交换文件

dd 命令是另一个实用程序,可以帮助我们立即创建预分配大小的文件。

以下 dd 命令将创建 1GB 的 /swapfile1。

$ sudo dd if=/dev/zero of=/swapfile1 bs=1G count=1

1+0 records in

1+0 records out

1073741824 bytes (1.1 GB, 1.0 GiB) copied, 16.6154 s, 64.6 MB/s

详解: if=/dev/zero 是输入文件,/dev/zero 是类 Unix 操作系统中的一个特殊文件,它提供从它读取的尽可能多的空字符(ASCII NUL,0x00)。

of=/swapfile1 设置输出文件。

bs=1G 一次性读写的大小为 1GB

count=1 仅复制一个输入块

检查一下创建的文件的大小是否正确。

$ ls -lh /swapfile1

-rw-r--r-- 1 root root 1.0G Jun 7 09:58 /swapfile1

将该文件的权限设置为 600 这样只有 root 用户可以访问这个文件。

$ sudo chmod 600 /swapfile1

通过运行以下的命令来将此文件转换为交换文件。

$ sudo mkswap /swapfile1

Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes)

no label, UUID=96def6d7-b2da-4954-aa72-aa32316ec993

通过运行以下的命令来使交换文件生效。

$ sudo swapon /swapfile1

将新创建的交换文件添加到 fstab 文件中,这样交换分区空间的修改即使在重启后也可以生效。

$ vi /etc/fstab

/swapfile1 swap swap defaults 0 0

检查新创建的交换文件。

$ swapon --show

NAME TYPE SIZE USED PRIO

/dev/sda5 partition 2G 1.3G -1

/swapfile file 1024M 0B -2

/swapfile1 file 1024M 0B -3

现在我可以看到一个新的  1GB 的 /swapfile1 了。重启系统以使新的交换文件生效。

方法 3 : 通过硬盘分区来创建交换文件

我们也推荐使用通过硬盘分区的方式来创建交换分区。

如果你已经在你的另一个硬盘上通过 fdisk 命令创建了一个新的分区,假设我们已经创建了一个叫做 /dev/sda4 的分区。

使用 mkswap 命令来将这个分区转换成交换分区。

$ sudo mkswap /dev/sda4

通过运行以下命令来使交换文件生效。

$ sudo swapon /dev/sda4

把新增的交换文件添加到 fstab 文件中,这样即使是重启了系统交换分区的修改也能生效。

$ vi /etc/fstab

/dev/sda4 swap swap defaults 0 0

检查新创建的交换文件。

$ swapon --show

NAME TYPE SIZE USED PRIO

/dev/sda5 partition 2G 1.3G -1

/swapfile file 1024M 0B -2

/swapfile1 file 1024M 0B -3

/dev/sda4 partition 1G 0B -4

我可以看到新的交换分区 1GB 的 /dev/sda4。重启系统就可以使用新的交换分区了。

via: http://www.2daygeek.com/add-extend-increase-swap-space-memory-file-partition-linux/

作者:2DAYGEEK 译者:chenxinlong 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

原文来自:https://linux.cn/article-8699-1.html

本文地址: http://www.linuxprobe.com/linux-create-partition.html

© 著作权归作者所有

共有 人打赏支持
l
粉丝 9
博文 569
码字总数 645127
作品 0
深圳
运维
如何在 Linux 中使用 LVM 创建和扩展交换分区

我们使用 LVM 进行灵活的卷管理,为什么我们不能将 LVM 用于交换分区呢? 这可以让用户在需要时增加交换分区。如果你升级系统中的内存,则需要添加更多交换空间。这有助于你管理运行需要大量...

作者: Ramya Nuvvula ⋅ 04/26 ⋅ 0

Centos7 add delete Swap exchange partitions

导读 Linux 将物理内存分为内存段,叫做页面。交换是指内存页面被复制到预先设定好的硬盘空间(叫做交换空间)的过程,目的是释放对于页面的内存。物理内存和交换空间的总大小是可用的虚拟内存...

问题终结者 ⋅ 05/21 ⋅ 0

Linux 上扩展swap分区

Linux 上扩展swap分区 想像一种情景,当我们的Linux系统用尽交换空间时,在这种情况下,我们想要使用swap分区扩展交换空间,但在某些情况下磁盘上已经没有可用的空闲分区了,致使我们不能把它...

898009427 ⋅ 06/12 ⋅ 0

mysql一直使用swap,导致swap空间用尽变卡

大致操作步骤: 1.调整内核参数,/proc/sys/vm/swapiness 2.调整mysql参数,innodbflushmethod 3.加mysql配置参数memlock,将mysql锁定在内存重防止被swapping out 4.手动释放swap空间,swapo...

jalyzjs ⋅ 05/28 ⋅ 0

linux下怎么查询服务器的信息

参考:https://zhidao.baidu.com/question/621368750657770092.html 1,查看内存大小: cat /proc/meminfo |grep MemTotal 2,其他一些可以查看详细linux系统信息的命令和方法: uname -a # 查...

phpervip ⋅ 05/30 ⋅ 0

给阿里云的linux服务器添加swap分区

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

编程老陆 ⋅ 05/25 ⋅ 0

Arch Linux 安装指南

1. 前提 为什么推荐Arch Linux?因为它好用呗! 如果想要学习Linux,Arch Linux是个很好的选择。Arch Linux提供了非常详细并且更新及时的Wiki(帮助文档),使用系统的过程中遇到的问题基本上...

清无色 ⋅ 05/14 ⋅ 0

Linux与VMware安装注意事项

Linux与VMware安装注意事项 一、Linux与Windows的不同 Linux严格区分大小写 Linux中所有内容都以文件形式保存,包括硬件 Linux不靠扩展名区分文件类型 Windows下的程序不能直接在Linux中安装...

JS_HCX ⋅ 06/13 ⋅ 0

Linux 增加交换分区

Linux下增加交互分区(swap)主要有两种方法:一种是swap分区;另一种是 swap文件。前者适合有空间的分区可以使用;后者适合没有空的磁盘分区,硬盘的空间已经分配完毕了。 最近安装CentOS ...

科技小能手 ⋅ 2017/11/12 ⋅ 0

从Windows文件夹到Linux分区

1. 前提 1.1 本文不是针对零基础的用户,因此你必须具备这些技能: 知道什么是Windows系统 简单使用Windows系统 想要了解或安装Linux 1.2 本文不会对任何行为作担保,包括但不仅仅包括: 为了...

清无色 ⋅ 05/14 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

前台对中文编码,后台解码

前台:encodeURI(sbzt) 后台:String param = URLDecoder.decode(sbzt,"UTF-8");

west_coast ⋅ 昨天 ⋅ 0

VS2015配置并运行汇编(一步一步照图做)【vs2017的链接在最后】

前言 我是上学期学的汇编,因为有vs又不想用课上教的麻烦的dosbox以及masm32,但是一直没找到高亮插件和能调试的(难在运行不了而找不到答案上,出现的错误在最后放出,还请先达们不吝指点)...

simpower ⋅ 昨天 ⋅ 0

一起读书《深入浅出nodejs》-node模块机制

node 模块机制 前言 说到node,就不免得提到JavaScript。JavaScript自诞生以来,经历了工具类库、组件库、前端框架、前端应用的变迁。通过无数开发人员的努力,JavaScript不断被类聚和抽象,...

小草先森 ⋅ 昨天 ⋅ 0

Java桌球小游戏

其实算不上一个游戏,就是两张图片,不停的重画,改变ball图片的位置。一个左右直线碰撞的,一个有角度碰撞的。 左右直线碰撞 package com.bjsxt.test;import javax.swing.*;import j...

森林之下 ⋅ 昨天 ⋅ 0

你真的明白RPC 吗?一起来探究 RPC 的实质

你真的明白RPC 吗?一起来探究 RPC 的实质 不论你是科班出身还是半路转行,这么优秀的你一定上过小学语文,那么对扩句和缩句你一定不陌生。缩句就是去除各种修饰提炼出一句话的核心,而不失基...

AI9o後 ⋅ 昨天 ⋅ 0

z-index设置失效?

今天碰到了一个问题,就是在给li设置提示框的时候,有用到遮罩效果,本来想把对应的出现在最顶层,可是不管将li设置的z-index值设为多大,li都没有出现在遮罩层之上。 我在网上查了z-index设...

IrisHunag ⋅ 昨天 ⋅ 0

CyclicBarrier、CountDownLatch以及Semaphore使用及其原理分析

CyclicBarrier、CountDownLatch以及Semaphore是Java并发包中几个常用的并发组件,这几个组件特点是功能相识很容易混淆。首先我们分别介绍这几个组件的功能然后再通过实例分析和源码分析其中设...

申文波 ⋅ 昨天 ⋅ 0

Java对象的序列化与反序列化

Java对象的序列化与反序列化

Cobbage ⋅ 昨天 ⋅ 0

Sqoop

1.Sqoop: 《=》 SQL to Hadoop 背景 1)场景:数据在RDBMS中,我们如何使用Hive或者Hadoop来进行数据分析呢? 1) RDBMS ==> Hadoop(广义) 2) Hadoop ==> RDBMS 2)原来可以通过MapReduce I...

GordonNemo ⋅ 昨天 ⋅ 0

全量构建和增量构建的区别

1.全量构建每次更新时都需要更新整个数据集,增量构建只对需要更新的时间范围进行更新,所以计算量会较小。 2.全量构建查询时不需要合并不同Segment,增量构建查询时需要合并不同Segment的结...

无精疯 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部