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

下面是“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。

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 分区流程了。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:CentOS技巧:减小Linux swap分区的方法 - Python技术站

(0)
上一篇 2023年5月24日
下一篇 2023年5月24日

相关文章

  • Linux下 rpm 命令查询方法

    下面是关于“Linux下rpm命令查询方法”的完整攻略。 一、介绍 在 Linux 操作系统中,rpm 命令是常用的包管理工具,它能够安装、升级、卸载基于 RPM 包格式打包的软件。有时候我们需要查询某些软件包是否已经安装、安装到什么位置以及版本信息等。接下来我们将介绍使用 rpm 命令进行查询的方法。 二、rpm 查询命令 rpm 命令的查询选项主要有以下…

    Linux 2023年5月14日
    00
  • linux虚拟化概述

    虚拟化硬件虚拟化:一台物理机虚拟出多台逻辑上的计算机cpu,内存可分配给多个虚拟机软件虚拟化:一个LAMP平台支撑多个网站桌面虚拟化…… 虚拟机:通过软件平台模拟出的计算机对最终用户来说,感受不到与物理计算机的差异根据虚拟化程度不同,所需的修改也不同 虚拟化实现程度:完全虚拟化,Full Virtualization由平台软件来模拟实现,客户机的操作…

    Linux 2023年4月12日
    00
  • Linux ipcrm命令

    Linux ipcrm命令的作用与使用方法 Linux ipcrm命令用于删除系统中的 IPC(Inter-Process Communication,进程间通信)资源,包括消息队列、共享内存和信号量等。它可以帮助管理员清理中的无用资源,释放系统资源,提高系统性能。 Linux ipcrm命令使用方法 ipcrm命令的基本语法如下: ipcrm [项] 标识…

    Linux 2023年5月10日
    00
  • 我常用的一些linux命令小结

    关于“我常用的一些 Linux 命令小结”的攻略,我给您做一个详细的介绍。 标题 我建议您的文档从一个大标题开始: # 我常用的一些 Linux 命令小结 命令介绍 在这个部分,您可以列出您常用的 Linux 命令,并对每个命令进行详细的介绍。具体地: 命令名称: 在这一行写出命令的名称,比如 ls、cd、grep、awk 等等。 用途介绍: 接下来在一行或…

    Linux 2023年5月14日
    00
  • 关于Ubuntu系统常见问题及解决办法

    关于Ubuntu系统常见问题及解决办法 Ubuntu 是一款非常流行的 Linux 操作系统,但是使用过程中也会遇到一些问题,下面是一些常见问题及解决办法。 1. 安装软件包失败 在 Ubuntu 系统中安装软件一般会使用 apt 命令,但是有时候会出现安装软件包失败的情况,可以按照以下步骤解决: 确认系统网络正常,可以使用 ping 命令检查网络连接是否稳…

    Linux 2023年5月24日
    00
  • Linux系统性能测试工具(七)——网络性能工具之iperf

    本文介绍关于Linux系统(适用于centos/ubuntu等)的网络性能测试工具-iperf。磁盘io性能测试工具包括: iperf; netperf               参考链接:https://www.cnblogs.com/klb561/p/9215952.html  

    Linux 2023年4月11日
    00
  • linux环境下安装git(采用github下载git源码编译)

    【目的】:linux环境下 安装配置git成功 【准备条件】linux系统,git包   1.先行下载git包 — 从github上https://github.com/git/git/releases/tag/v2.26.1 -下载完成后  通过xftp远程传输文件到linux的文件夹下 2.tar -zxvf   tar -zxvf git-2.26.…

    Linux 2023年4月11日
    00
  • linux下卸载vmware产品的方法

    Linux下卸载VMware产品的方法 在Linux系统下,卸载VMware产品可以通过以下步骤完成: 1. 关闭所有VMware相关进程 打开终端,执行以下命令关闭所有VMware相关进程: sudo /etc/init.d/vmware stop 或 sudo systemctl stop vmware.service sudo systemctl st…

    Linux 2023年5月24日
    00
合作推广
合作推广
分享本页
返回顶部