当前位置 : 主页 > 操作系统 > centos >

CentOS技巧:减小Linux swap分区的方法

来源:互联网 收集:自由互联 发布时间:2023-07-28
下面是“CentOS技巧:减小Linux swap分区的方法”的完整攻略: 介绍 Swap分区是Linux系统中的一种特殊分区,主要用于在物理内存不足时作为虚拟内存进行使用。但是,在某些情况下,我们

下面是“CentOS技巧:减小Linux swap分区的方法”的完整攻略:

介绍

Swap分区是Linux系统中的一种特殊分区,主要用于在物理内存不足时作为虚拟内存进行使用。但是,在某些情况下,我们可能需要减小Swap分区的大小,如修改分区布局或调整系统资源分配等。本文将介绍如何减小Linux Swap分区的大小。

步骤 1. 检查Swap使用情况

在开始减小Swap分区之前,需要先检查Swap的使用情况,确保Swap分区中不包含重要的信息。可以使用以下命令来查看Swap分区的使用情况:

sudo swapon -s

例如,输出可能如下所示:

Filename                Type        Size    Used    Priority
/dev/sda5               partition   2096124 904     -2

在这种情况下,/dev/sda5是Swap分区的设备文件,大小为2096124KB,已经使用了904KB。

自由互联热门推荐:PDF电子发票识别软件,一键识别电子发票并导入到Excel中!10大顶级数据挖掘软件!人工智能的十大作用!

2. 关闭Swap分区

在减小Swap分区之前,需要先关闭Swap分区。可以使用以下命令来关闭Swap分区:

sudo swapoff -v /dev/sda5

其中,/dev/sda5是需要关闭的Swap分区的设备文件。如果你的Swap分区不是/dev/sda5,请替换为你自己的Swap分区。

3. 编辑分区表

在关闭Swap分区之后,需要编辑分区表以减小Swap分区的大小。可以使用fdisk,gdisk或parted等分区工具来进行操作。这里我们以parted为例来说明如何编辑分区表。

首先,需要使用parted命令打开磁盘分区表:

sudo parted /dev/sda

其中,/dev/sda是需要编辑的磁盘设备文件。

现在,我们可以查看分区信息:

(parted) print all

输出可能如下所示:

Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sda: 11.2GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start   End     Size    Type      File system     Flags
 1      1049kB  525MB   524MB   primary   ext4            boot
 2      525MB   3357MB  2831MB  extended
 5      525MB   3357MB  2831MB  logical   linux-swap(v1)

这里,我们可以看到/dev/sda上的分区信息。Swap分区在/dev/sda5的位置,大小为2831MB。

现在,我们可以使用resizepart命令来减少分区大小:

(parted) resizepart 5 2000MB

这里,我们将/dev/sda5的大小减少到2000MB。请注意,这个命令只是调整分区大小,而不会修改分区中的数据。

4. 重新格式化Swap分区

在调整完分区大小之后,需要重新格式化Swap分区。可以使用以下命令来格式化Swap分区:

sudo mkswap /dev/sda5

其中,/dev/sda5是需要重新格式化的Swap分区的设备文件。

5. 启动Swap分区

在重新格式化Swap分区之后,需要启动Swap分区。可以使用以下命令来启动Swap分区:

sudo swapon -v /dev/sda5

现在,我们使用第一步中的命令来确认Swap分区已经启用:

sudo swapon -s

输出可能如下所示:

Filename                Type        Size    Used    Priority
/dev/sda5               partition   2000000 0       -2

在这种情况下,Swap分区的大小已经减少到2000000KB。

示例 示例一:减少/VAR/SWAPFILE大小

有时候使用了交换文件的 CentOS 系统,在安装时间时 /var/swapfile 空间规格就会被设定为系统规格的两倍或是四倍,这样在后续发现 swap 占用空间未到达 /var/swapfile 原始大小时,可以通过 lcationalloc 和 swapoff 命令,将文件缩小到期望大小并重新开启 swap 分区:

#验证
$ free -m
Swap:          4048            0         4048
#关闭swap
$ sudo swapoff -a
#删除swap文件
$ sudo rm /var/swapfile
#重新创建swap文件512M
$ sudo fallocate -l 512M /var/swapfile
#修改权限
$ sudo chmod 600 /var/swapfile
#格式化创建swap
$ sudo mkswap /var/swapfile
#开启swap
$ sudo swapon /var/swapfile
#验证
$ free -m
                      total        used        free      shared  buff/cache   available
Mem:                    8598        1322        4795         101        2480        6817
Swap:                    511           0         511
示例二:减小分区大小

centos 系统默认是较为简单的全新安装来的,不需要过多操作,但是在使用一段时间后,已经安装的程序较多,因此难免会遇到内存不充分的情况。而这个时候,大部分人都会考虑是否可以进行 swap 扩容或者进行 Linux 分区还原。这里介绍了减小一个 Swap 分区的大小的一个详细教程。

假设你有 /dev/sda3,一个 swap 分区大小为 8G,而你希望减少它至 2G:

  • 首先关闭当前的 swap:
sudo swapoff /dev/sda3
  • 然后将 /dev/sda3 设定为分区类型 id 为 82(Linux swap):
sudo fdisk /dev/sda
Command (m for help): t
Partition number (1-4): 3
Hex code (type L to list codes): 82
Changed system type of partition 3 to 82 (Linux swap).
  • 将分区大小也加以缩减:
sudo fdisk /dev/sda
Command (m for help): d
Partition number (1-4): 3
Partition 3 has been deleted.
Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 3
First cylinder (654-155061, default 654):
Using default value 654
Last cylinder, +cylinders or +size{K,M,G} (654-155061, default 155061):
Using default value 155061

注意在这里我们将开始块和结束块设置成了新的值,这样可以改变分区大小,但是确保要覆盖 Swap 的初始块。

  • 确保你输入完毕以后,最后使用 p 命令查看一下分区情况:
Command (m for help): p
Disk /dev/sda: 160.0 GB, 160000000000 bytes
255 heads, 63 sectors/track, 19452 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14         275     2096482+  82  Linux swap / Solaris
/dev/sda3             276       19452   154129392+  83  Linux

剩下的就是你已经喜欢的其他 Linux 分区流程了。

【文章转自:新加坡服务器 http://www.558idc.com/sin.html 复制请保留原URL】
网友评论