linux下修改swap分区大小
当前遇到的问题 修改linux下的swap分区尺寸解决方法Linux操作系统安装以后,swap分区太小,两种解决方法:增加swap分区、重新建立swap分区;首先要有root权限,其次在操作过程中一定要很小心,一不小心可能就破坏了整个硬盘的数据,一定要三思而行。一、增加swap分区(推荐)1. 检查内存和swap大小这里有2种方法查看(1)
当前遇到的问题
修改linux下的swap分区尺寸
解决方法
Linux操作系统安装以后,swap分区太小,两种解决方法:增加swap分区、重新建立swap分区;首先要有root权限,其次在操作过程中一定要很小心,一不小心可能就破坏了整个硬盘的数据,一定要三思而行。
一、增加swap分区(推荐)
1. 检查内存和swap大小
这里有2种方法查看
(1) free –m
[root@linux ~]# free -m
total used free shared buffers cached
Mem: 1010 247 762 0 14 145
-/+buffers/cache: 87 922
Swap: 2201 0 2201
当前系统的swap分区尺寸是物理内存的2倍
(2) cat /proc/meminfo | grep SwapTotal
cat /proc/meminfo | grep MemTotal
[root@linux~]# cat /proc/meminfo | grep SwapTotal
SwapTotal: 2254084 kB
[root@linux ~]# cat /proc/meminfo | grep MemTotal
MemTotal: 1034564 kB
[root@linux ~]# cat /proc/meminfo --查看所有内存有关信息
MemTotal: 1034564 kB
MemFree: 780616 kB
Buffers: 15060 kB
Cached: 149520 kB
SwapCached: 0 kB
Active: 113076 kB
Inactive: 109956 kB
HighTotal: 131008 kB
HighFree: 252 kB
LowTotal: 903556 kB
LowFree: 780364 kB
SwapTotal: 2254084 kB
SwapFree: 2254084 kB
Dirty: 0 kB
Writeback: 0 kB
Mapped: 83892 kB
Slab: 15256 kB
CommitLimit: 2771364 kB
Committed_AS: 193680 kB
PageTables: 2456 kB
VmallocTotal: 106488 kB
VmallocUsed: 3288 kB
VmallocChunk: 103056 kB
HugePages_Total: 0
HugePages_Free: 0
Hugepagesize: 2048 kB
注意:此处需要说明一下,下表显示了swap和ram之间的大小关系
|
RAM |
Swap Space |
|
Between 1024 MB and 2048 MB |
1.5 times the size of RAM |
|
Between 2049 MB and 8192 MB |
Equal to the size of RAM |
|
More than 8192 MB |
0.75 times the size of RAM |
2. 决定修改swap分区大小,在空间合适处创建用于分区的swap文件
(注意,此处是添加swap分区,swap尺寸=原有swap+新添加swap)
[root@linux ~]# dd if=/dev/zero of=/tmp/tempswapbs=1k count=5000
5000+0 records in
5000+0 records out
(注意,if表示infile,of表示outfile,bs=1k表示每个写入的块的大小为1k)
3. 查看创建的文件大小是否符合要求
[root@linux ~]# du -h/tmp/tempswap
4.9M /tmp/tempswap
4. 格式化目标文件
[root@linux ~]# mke2fs/tmp/tempswap
mke2fs 1.35 (28-Feb-2004)
/tmp/tempswap is not a block special device.
Proceed anyway? (y,n) y
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
1256 inodes, 5000 blocks
250 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=5242880
1 block group
8192 blocks per group, 8192 fragments per group
1256 inodes per group
Writing inode tables: done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 24 mounts or
180 days,whichever comes first. Use tune2fs -c or-i to override.
5. 将目标文件设置为swap分区文件
[root@linux~]# mkswap /tmp/tempswap
Setting up swapspace version 1, size= 5115 kB
6. 激活swap,立即启用该swap分区文件
[root@linux ~]# swapon /tmp/tempswap
7. 再次验证内存和swap分区
[root@linux~]# free -m
total used free shared buffers cached
Mem: 1010 684 325 0 36 523
-/+buffers/cache: 123 886
Swap: 2206 0 2206
8. 设置新swap文件开机自动挂载
[root@linux ~]# vi/etc/fstab
LABEL=SWAP-hda2 swap swap defaults 0 0
/tmp/tempswap swap swap defaults 0 0
二、重新建立swap分区
此实验因为当前系统磁盘没有空闲空间,所以就没有做,下面把主要操作步骤记录如下
1. 停止所有swap分区(root身份执行)
#swapoff –a --停止所有swap分区
2. 修改swap分区
用fdisk命令加swap分区的盘符,(例:#fdisk /dev/sdb)剔除swap分区,输入d删除swap分区,然后再n添加分区(添加时硬盘必须要有可用空间,然后再用t将新添的分区id改为82(linux swap类型),最后用w将操作实际写入硬盘(没用w之前的操作是无效的)
3. 格式化swap分区
#mkswap /dev/sdb2 --格式化swap分区,这里的sdb2要看你加完swap分区后p命令显示的实际分区设备名
4. 启动新的swap分区
#swapon /dev/sdb2
5. 设置开机启动该swap分区
#/dev/sdb2 swap swap defaults 0 0
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)