Centos7 添加swap虚拟内存分区
文章摘要
本文介绍虚拟机内存不足时,通过创建swap分区解决内存溢出问题。步骤包括查看内存、生成swap文件、格式化、激活并设置开机自启动,成功增加2G虚拟内存。
我的虚拟机只有512MB,但我想开多个服务,比如mysql这种就会出现内存溢出,进程会自动被kill。所以希望通过添加swap虚拟内存分区来解决这个问题。 1. 查看自己当前的内存情况 ```java [root@alwaysdayone /]# free -h total used free shared buff/cache available Mem: 422M 253M 44M 25M 123M 131M Swap: 0B 0B 0B ``` 2. 建立swap分区文件 首先在root目录下建立swap文件夹,进入后执行命令生成swapfile,表示buffer size,count表示数量,如下使用的即10MB\*200=2G; ```java [root@alwaysdayone ~]# mkdir swap [root@alwaysdayone ~]# cd swap/ [root@alwaysdayone swap]# dd if=/dev/zero of=swapfile bs=10M count=200 200+0 records in 200+0 records out 2097152000 bytes (2.1 GB) copied, 38.198 s, 54.9 MB/s [root@alwaysdayone swap]# ``` 注意:这里我们bs(buff size)给的10M, bs大小可以根据free -h命令查看的buff/cache的大小来决定,如果给大了可能会报dd: memory exhausted by input buffer of size 1073741824 bytes (1.0 GiB) 查看当前的文件大小可以发现已经分配文件大小 ```java [root@alwaysdayone swap]# ll -h total 2.0G -rw-r--r--. 1 root root 2.0G Feb 16 11:34 swapfile ``` 3. 构建swap格式 swapfile文件创建后,需要构建swap格式于/usr/swap/swapfile 上 ```java [root@alwaysdayone swap]# mkswap swapfile Setting up swapspace version 1, size = 2047996 KiB no label, UUID=f1327d47-a377-4d4d-a494-301abf42a839 ``` 4. 激活swap 用命令激活swap,立即启用交换分区文件 ```java [root@alwaysdayone swap]# swapon swapfile swapon: /root/swap/swapfile: insecure permissions 0644, 0600 suggested. ``` 5. 配置开机自启动swap ```java vim /etc/fstab 将/swap none swap sw 0 0 这行注释掉 新增一行 /root/swap/swapfile swap swap defaults 0 0 ``` 6. 最后查看内存 可以发现swap内存已经有2G ```java [root@alwaysdayone swap]# free -h total used free shared buff/cache available Mem: 422M 358M 6.8M 9.0M 56M 42M Swap: 2.0G 69M 1.9G ``` 本文转自 [https://blog.csdn.net/weixin\_44639164/article/details/122962707](https://blog.csdn.net/weixin_44639164/article/details/122962707),如有侵权,请联系删除。
作者头像
admin
分享技术与生活
打赏作者

评论

暂无评论,快来抢沙发吧~