img

Centos虚拟内存

旁观者 1年前 ⋅ 1024 阅读

新增虚拟内存

1.获取1024M的文件块,具体划分多少swap交换分区,根据你的物理内存具体应用情况磁盘情况而定(一般是物理内存的1~2倍)

dd if=/dev/zero of=/swapfile bs=1M count=2048

dd命令:

功能:把指定的输入文件拷贝到指定的输出文件中,并且在拷贝过程中可以进行格式转换。可以用该命令实现DOS下的diskcopy命令的作用。先用dd命令把软盘上的数据写成硬盘的一个寄存文件,再把这个寄存文件写入第二张软盘上,完成diskcopy的功能。需要注意的是,应该将硬盘上的寄存文件用rm命令删除掉。系统默认使用标准输入文件和标准输出文件。
语法:dd [选项]
if =输入文件(或设备名称)。
of =输出文件(或设备名称)。
ibs = bytes 一次读取bytes字节,即读入缓冲区的字节数。
skip = blocks 跳过读入缓冲区开头的ibs*blocks块。
obs = bytes 一次写入bytes字节,即写入缓冲区的字节数。
bs = bytes 同时设置读/写缓冲区的字节数(等于设置ibs和obs)。
cbs = byte 一次转换bytes字节。
count=blocks 只拷贝输入的blocks块。

2.创建swap文件

/sbin/mkswap swapfile

3.挂起swap文件

/sbin/swapon swapfile

4.检查swap是否正确:

/sbin/swapon -s

5.加到fstab文件中让系统引导时自动启动

vi /etc/fstab

在末尾增加以下内容(开机自动挂载):

/home/swapfile swap swap defaults 0 0

这里有个问题!如果是阿里云的服务器,阿里云默认是不让用户使用swap,需要编辑/etc/rc.d/rc.local文件,将文件中的swapoff行注释或删掉。

#swapoff -a

我试过之后发现并不会开启挂载,坑爹。。还是得每次手工激活。。。

6.重启系统

reboot

7.挂载swapfile

swapon swapfile

8.查看swap交换分区情况

free -m

##删除虚拟内存 1.首先停止swap分区

[root@LLM ~]# swapoff /swapfile
[root@LLM ~]# free -m
			  total        used        free      shared  buff/cache   available
Mem:            992         191          63          13         738         626
Swap:             0           0           0

2.其次删除掉swap文件即可 首先看一下磁盘大小

df -h

rm -rf /swapfile

df -h

可以看出删除后多了1G的空间

##设置比重

cat /proc/sys/vm/swappiness

sysctl -w vm.swappiness=50

临时调整的方法如下,我们调成10:

[root@timeserver ~]# sysctl vm.swappiness=10
vm.swappiness = 10
[root@timeserver ~]# cat /proc/sys/vm/swappiness
10

这只是临时调整的方法,重启后会回到默认设置的

要想永久调整的话,需要将 需要在/etc/sysctl.conf修改,加上:

[root@timeserver ~]# cat /etc/sysctl.conf

vm.swappiness=10

激活设置

[root@timeserver ~]# sysctl -p

全部评论: 0

    我有话说: