江陵| 农安| 垫江| 新荣| 宁波| 赣州| 永宁| 连城| 南县| 贵溪| 梅州| 衡阳市| 伊春| 横山| 会理| 贵池| 长泰| 成安| 集贤| 依兰| 寒亭| 商都| 汕尾| 石拐| 孟州| 东兴| 亚东| 托克托| 怀安| 镇巴| 阿合奇| 马尔康| 九台| 沂南| 明水| 安吉| 开平| 青阳| 襄樊| 武威| 寿光| 烈山| 长泰| 武功| 献县| 杜尔伯特| 扎兰屯| 乌拉特中旗| 保亭| 歙县| 加查| 信阳| 登封| 乐业| 屏东| 保德| 攸县| 太仓| 丽江| 阿坝| 海安| 石河子| 哈尔滨| 乌拉特中旗| 定西| 云霄| 隆昌| 成安| 梅河口| 南城| 芒康| 乃东| 龙海| 建阳| 北流| 台东| 博白| 南陵| 武隆| 淄博| 高雄市| 当涂| 玉山| 六合| 中阳| 开原| 隆安| 马龙| 山丹| 祁门| 范县| 双阳| 赤城| 彭山| 蓬溪| 泰和| 上思| 壤塘| 开化| 固始| 咸阳| 昆明| 托里| 正蓝旗| 新乡| 伊春| 新兴| 临沧| 长海| 黔江| 北宁| 和龙| 景德镇| 安国| 义县| 乌拉特前旗| 仁化| 大宁| 壤塘| 云林| 涿州| 科尔沁右翼中旗| 比如| 伊春| 陕县| 兰州| 河池| 安西| 武宁| 札达| 盐山| 兴安| 寿光| 准格尔旗| 普洱| 乌拉特后旗| 冀州| 临高| 丘北| 洛宁| 达州| 永福| 南和| 运城| 博野| 谷城| 科尔沁右翼前旗| 北仑| 武清| 石首| 汕尾| 云安| 临夏县| 永修| 武邑| 东光| 佛山| 葫芦岛| 温泉| 洛扎| 永平| 九江市| 枝江| 凯里| 洪洞| 黑山| 大埔| 鲅鱼圈| 津南| 吐鲁番| 西宁| 西峡| 泰宁| 康定| 长岭| 内蒙古| 龙游| 新丰| 阳原| 西青| 武鸣| 四子王旗| 长白山| 道县| 绥芬河| 灵台| 西盟| 庄河| 龙江| 龙门| 衡南| 兴县| 龙川| 巴彦淖尔| 镇宁| 丹凤| 古冶| 济南| 汉阴| 肇源| 邳州| 郴州| 建阳| 平阴| 新绛| 镇远| 依安| 蒲城| 河口| 谢家集| 石龙| 大安| 防城区| 吕梁| 乌兰浩特| 柳江| 垫江| 枣强| 廊坊| 双峰| 台南县| 开封县| 夏津| 绥化| 如东| 科尔沁右翼前旗| 景洪| 新巴尔虎左旗| 汉沽| 尼勒克| 楚州| 东安| 大方| 盐源| 临夏市| 临潼| 榆树| 广安| 梅里斯| 安义| 张北| 延安| 普安| 奉化| 铁岭县| 闵行| 清镇| 铁岭县| 砀山| 抚州| 永清| 聂拉木| 四子王旗| 裕民| 多伦| 科尔沁左翼中旗| 乐清| 资源| 岚皋| 青海| 喀什| 盐亭| 商水| 铜陵县|
|
|
|
|
移动端

使用fdisk和fallocate命令创建交换分区

交换分区在物理内存(RAM)被填满时用来保持内存中的内容。当 RAM 被耗尽,Linux 会将内存中不活动的页移动到交换空间中,从而空出内存给系统使用。虽然如此,但交换空间不应被认为是物理内存的替代品。

作者:Shusain来源:Linux中国|2018-05-22 14:59

年前最后一场技术盛宴 | 1月27日与京东、日志易技术大咖畅聊智能化运维发展趋势!


使用fdisk和fallocate命令创建交换分区

交换分区在物理内存(RAM)被填满时用来保持内存中的内容。当 RAM 被耗尽,Linux 会将内存中不活动的页移动到交换空间中,从而空出内存给系统使用。虽然如此,但交换空间不应被认为是物理内存的替代品。

大多数情况下,建议交换内存的大小为物理内存的 1 到 2 倍。也就是说如果你有 8GB 内存, 那么交换空间大小应该介于8-16 GB。

若系统中没有配置交换分区,当内存耗尽后,系统可能会杀掉正在运行中的进程/应用,从而导致系统崩溃。在本文中,我们将学会如何为 Linux 系统添加交换分区,我们有两个办法:

  • 使用 fdisk 命令
  • 使用 fallocate 命令

第一个方法(使用 fdisk 命令)

通常,系统的第一块硬盘会被命名为 /dev/sda,而其中的分区会命名为 /dev/sda1/dev/sda2。 本文我们使用的是一块有两个主分区的硬盘,两个分区分别为 /dev/sda1/dev/sda2,而我们使用 /dev/sda3 来做交换分区。

首先创建一个新分区,

  1. $ fdisk /dev/sda

n 来创建新分区。系统会询问你从哪个柱面开始,直接按回车键使用默认值即可。然后系统询问你到哪个柱面结束, 这里我们输入交换分区的大小(比如 1000MB)。这里我们输入 +1000M

swap

swap

现在我们创建了一个大小为 1000MB 的磁盘了。但是我们并没有设置该分区的类型,我们按下 t 然后回车,来设置分区类型。

现在我们要输入分区编号,这里我们输入 3,然后输入磁盘分类号,交换分区的分区类型为 82 (要显示所有可用的分区类型,按下 l ) ,然后再按下 w 保存磁盘分区表。

swap

swap

再下一步使用 mkswap 命令来格式化交换分区:

  1. $ mkswap /dev/sda3

然后激活新建的交换分区:

  1. $ swapon /dev/sda3

然而我们的交换分区在重启后并不会自动挂载。要做到永久挂载,我们需要添加内容到 /etc/fstab 文件中。打开 /etc/fstab 文件并输入下面行:

  1. $ vi /etc/fstab
  2.  
  3. /dev/sda3 swap swap default 0 0

保存并关闭文件。现在每次重启后都能使用我们的交换分区了。

第二种方法(使用 fallocate 命令)

我推荐用这种方法因为这个是最简单、最快速的创建交换空间的方法了。fallocate 是最被低估和使用最少的命令之一了。 fallocate 命令用于为文件预分配块/大小。

使用 fallocate 创建交换空间,我们首先在 / 目录下创建一个名为 swap_space 的文件。然后分配 2GB 到 swap_space 文件:

  1. $ fallocate -l 2G /swap_space

我们运行下面命令来验证文件大小:

  1. $ ls -lh /swap_space

然后更改文件权限,让 /swap_space 更安全:

  1. $ chmod 600 /swap_space

这样只有 root 可以读写该文件了。我们再来格式化交换分区(LCTT 译注:虽然这个 swap_space 是个文件,但是我们把它当成是分区来挂载):

  1. $ mkswap /swap_space

然后启用交换空间:

  1. $ swapon -s

每次重启后都要重新挂载磁盘分区。因此为了使之持久化,就像上面一样,我们编辑 /etc/fstab 并输入下面行:

  1. /swap_space swap swap sw 0 0

保存并退出文件。现在我们的交换分区会一直被挂载了。我们重启后可以在终端运行 free -m 来检查交换分区是否生效。

【编辑推荐】

  1. 弃用正版Win10/Office!巴塞罗那拥抱开源Linux
  2. Linux中12 个IP命令的范例
  3. 在不重启的情况下为Vmware Linux客户机添加新硬盘
  4. 6个例子让初学者掌握free命令
  5. 在Linux上简单模拟系统负载的方法
【责任编辑:庞桂玉 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

网络工程师教程(第2版)

本书是全国计算机技术与软件专业技术资格(水平)考试的指定用书。按照新的网络工程师考试大纲的规定,本书包含了数据通信基础知识、网络体...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊
度假村论坛 虎林市论坛 嘉黎县论坛 类乌齐县论坛 涵江区论坛
那楼镇论坛 台湾海峡论坛 贡嘎县论坛 虎丘区论坛 柏架山论坛