swap虚拟内存设置方法

最近,发现网站的数据库连接不上,而且持续有一段时间了。主要还是平时太少管理网站,所以隔了几天才发现。 重启后,数据库恢复正常,但一分钟不到,内存不足,又挂了。 经过排查,原来是没使用swap虚拟内存。开启后,妥妥的稳定运行。

关闭配置文件/etc/fstab中所有的交换空间

sudo swapoff -a

一、创建交换分区的文件:增加2G大小的交换分区

sudo dd if=/dev/zero of=/var/swapfile bs=1M count=2048
  • if 代表输入文件。如果不指定if,默认就会从stdin中读取输入。
  • of 代表输出文件。如果不指定of,默认就会将stdout作为默认输出。
  • bs 代表字节为单位的块大小。
  • count 代表被复制的块数。
  • /dev/zero 是一个字符设备,会不断返回0值字节(\0)。

块大小可以使用的计量单位表

单位

大小

代码

字节

1B

c

字节

2B

w

512B

b

千字节

1024B

k

兆字节

1024KB

M

吉字节

1024MB

G

二、设置交换分区文件

sudo mkswap /var/swapfile

三、启用交换分区

sudo swapon /var/swapfile

四、写入/etc/fstab,以便在引导时启用

echo '/var/swapfile swap swap defaults 0 0'>>sudo /etc/fstab

五、查看swap的情况

扩容或缩容swap内存大小

1、查看swap空间和使用情况

2、关闭swap

3、缩小swap分区

lvreduce -L 1G /var/swapfile

mkswap /var/swapfile

swapon -s

swapon /var/swapfile

swapon -s

4、增大swap分区

新建分区方法来增大swap

dd if=/dev/zero of=/var/swap bs=1G count=10

 mkswap /var/swap

swapon /var/swap

swapon -s

free -m

重启系统以后swap还是会变回去,这里需要修改/etc/fstab
增加:/var/swap swap swap default 0 0

删除之前的swap分区

swapoff /var/swapfile

rm -rf /var/swapfile

echo "/var/swap swap swap default 0 0" >>/etc/fstab

修改swappiness

swappiness参数值说明

vm.swappiness = 0 仅在内存不足的情况下--当剩余空闲内存低于vm.min_free_kbytes limit时,使用交换空间。 
vm.swappiness = 1 内核版本3.5及以上、Red Hat内核版本2.6.32-303及以上,进行最少量的交换,而不禁用交换。 
vm.swappiness = 10当系统存在足够内存时,推荐设置为该值以提高性能。 
vm.swappiness = 30默认值
vm.swappiness = 100 内核将积极的使用交换空间

# sysctl -q vm.swappiness

或者
# sysctl -a | grep vm.swappiness 查看swappiness
vm.swappiness = 30


# echo 10 > /proc/sys/vm/swappiness 临时修改
# sysctl -a | grep vm.swappiness
# vm.swappiness = 10
# sysctl -w vm.swappiness=10 临时修改
vm.swappiness = 10
# cat /proc/sys/vm/swappiness

在/etc/sysctl.conf中编辑,增加如下参数(如果存在的话)
vm.swappiness = 10 永久修改 

激活设置:sysctl -p

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Ubuntu中,设置swap虚拟内存)有几种方法可以选择。 第一种方法是通过使用GParted分区工具创建一个swap分区。首先,打开终端并输入sudo apt-get install gparted来安装GParted。安装完成后,运行GParted并选择要创建swap分区的硬盘。右键单击硬盘并选择"New Partition"。在弹出的对话框中选择分区类型为"linux-swap",然后设置分区大小(通常建议设置与计算机RAM大小相同或稍大),最后点击"Add"按钮来创建swap分区。创建完成后,右键单击swap分区并选择"swapon"。 第二种方法是通过使用命令行来设置swap。首先,打开终端并输入sudo fallocate -l [size] /swapfile来创建一个指定大小的swap文件,将[size]替换为要创建的swap文件的大小(例如,2G)。然后,运行sudo chmod 600 /swapfile命令来设置swap文件的权限。接下来,运行sudo mkswap /swapfile命令来格式化swap文件。最后,使用sudo swapon /swapfile命令来启用swap。 第三种方法是编辑/etc/fstab文件来永久设置swap。首先,打开终端并输入sudo nano /etc/fstab来编辑文件。在文件的最后添加一行/swapfile none swap sw 0 0,然后保存并关闭文件。最后,运行sudo swapon -a命令来激活新的swap设置。 无论选择哪种方法设置完成后可以使用free -h命令来查看swap是否已成功设置。 ### 回答2: 在Ubuntu中,可以通过以下步骤设置Swap虚拟内存)。 第一步,打开终端。可以通过按下Ctrl + Alt + T组合键来打开终端。 第二步,输入以下命令来查看系统当前的Swap设置情况: ``` sudo swapon --show ``` 如果没有任何输出,则表示Swap未启用。 第三步,创建一个Swap文件。可以使用以下命令来创建一个名为swapfile的文件,大小为2GB(根据需求可以调整文件大小): ``` sudo fallocate -l 2G /swapfile ``` 第四步,将文件的权限设置为只读: ``` sudo chmod 600 /swapfile ``` 第五步,将文件格式化为Swap: ``` sudo mkswap /swapfile ``` 第六步,启用Swap文件: ``` sudo swapon /swapfile ``` 第七步,修改/etc/fstab文件以使Swap文件在系统重启后自动启用。打开/etc/fstab文件并在末尾添加以下行: ``` /swapfile none swap sw 0 0 ``` 保存并关闭文件。 最后一步,重新启动系统以使Swap文件生效: ``` sudo reboot ``` 完成以上步骤后,Swap文件将成功设置并启用在Ubuntu系统中。你可以使用以下命令来验证Swap是否已启用: ``` sudo swapon --show ``` ### 回答3: 在Ubuntu系统中,swap虚拟内存)用于扩展系统的内存空间,以提高系统的性能和稳定性。以下是在Ubuntu中设置swap方法: 1. 首先,通过命令查看系统当前的swap使用情况,可以使用以下命令: ``` sudo swapon --show ``` 如果没有任何输出,表示系统当前没有启用swap。 2. 创建一个文件作为swap的存储空间,可以使用以下命令: ``` sudo fallocate -l <swap大小> <swap文件路径> ``` 其中,<swap大小>是swap文件的大小,可以使用单位G(GB)或M(MB),例如:"1G"或"512M",<swap文件路径>是swap文件的路径和名称。 3. 设置该文件为swap格式,通过以下命令: ``` sudo mkswap <swap文件路径> ``` 4. 启用swap,使用以下命令: ``` sudo swapon <swap文件路径> ``` 5. 验证swap是否启用成功,可以使用以下命令: ``` sudo swapon --show ``` 如果输出中包含swap文件的相关信息,则表示swap已成功启用。 6. 对于永久性地启用swap,在系统启动时自动加载swap文件,需要将该文件添加到/etc/fstab文件中。打开该文件并在末尾添加以下内容: ``` <swap文件路径> swap swap defaults 0 0 ``` 保存并关闭文件。 经过以上步骤,您成功地设置swap虚拟内存)在Ubuntu系统中。注意,建议swap的大小不超过系统内存的2倍,以避免过度使用磁盘空间。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值