【Linux】设置虚拟内存

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 20:47   1215   0

【Linux】设置虚拟内存

原文链接:https://blog.csdn.net/wr132/article/details/56837266

很多人的Linux是安装在虚拟机上,或者运行在一些嵌入式设备上,没有足够的物理内存,如果在执行一些消耗内存的任务,比如编译软件,可能会造成系统崩溃,解决方法就是设置虚拟内存。。

设置步骤

这里采用设置交换文件的方法,执行以下命令

cd /var
sudo swapoff /var/swapfile
sudo dd if=/dev/zero of=/var/swapfile bs=1M count=2048
sudo mkswap /var/swapfile
sudo swapon /var/swapfile

其中1024表示2048MB的虚拟内存,可以根据实际情况设置,一般为物理内存的两倍即可

最后,修改/etc/fstab,添加一行(保证重启系统后,swap分区设置还是有值)

/var/swapfile none swap sw 0 0

注意:/u01/var/swapfile 是设置虚拟内存的路径,具体的路径可以执行设置

参考文章:


Linux增加虚拟内存

1 用例

给当前系统增加虚拟内存

2 静态

虚拟内存计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。目前,大多数操作系统都使用了虚拟内存,如Windows家族的“虚拟内存”;Linux的“交换空间”等。

3 动态

建立虚拟内存

  • 找一个较大的空间
  • df -h
  • 建立swap文件,大小2G
  • dd if=/dev/zero of=swapfile bs=1024000 count=2000

启用虚拟内存

将swap文件设置为swap分区文件

  • mkswap swapfile

激活swap,启用分区交换文件

  • swapon swapfile

注意:insecure permissions 0644, 0600 suggested.

  • # chmod 600 swapfile

停用虚拟内存

  • swapoff -v swapfile

4 查看内存和虚拟内存

free -m

5 开机启用swap

修改/etc/fstab

  • vi /etc/fstab
/u01/var/swapfile none swap sw 0 0


Linux设置Swap虚拟内存方法

原文链接:https://blog.csdn.net/LeoFitz/article/details/80261903

Linux可以文件或者分区来当作虚拟内存。

首先查看当前的内存和swap 空间大小(默认单位为k, -m 单位为M):

  • free -m

查看swap信息,包括文件和分区的详细信息

  • swapon -s或者cat /proc/swaps

如果都没有,我们就需要手动添加交换分区。注意,OPENVZ架构的VPS是不支持手动添加交换分区的。
添加交换空间有两种选择:添加一个交换分区或添加一个交换文件。推荐你添加一个交换分区;不过,若你没有多少空闲空间可用, 则添加交换文件。

增加swap交换文件

1.使用dd命令创建一个swap交换文件

  • dd if=/dev/zero of=/home/swap bs=1024 count=1024000

这样就建立一个/home/swap的分区文件,大小为1G。

2.制作为swap格式文件:

  • mkswap /home/swap

3.再用swapon命令把这个文件分区挂载swap分区

  • swapon /home/swap

我们用free -m命令看一下,发现已经有交换分区了。
但是重启系统后,swap分区又变成0了。

4.为防止重启后swap分区变成0,要修改/etc/fstab文件

  • vi /etc/fstab

在文件末尾(最后一行)加上

  • /home/swap swap swap default 0 0

这样就算重启系统,swap分区还是有值。

5.删除swap交换文件

1、先停止swap分区

  • /sbin/swapoff /home/swap

2、删除swap分区文件

  • rm -rf /home/swap

3、删除自动挂载配置命令

  • vi /etc/fstab

这行删除

  • /home/swap swap swap default 0 0

这样就能把手动增加的交换文件删除了。


注意:

  • - 增加删除swap的操作只能使用root用户来操作。
  • - 装系统时分配的swap分区貌似删除不了。
  • - swap分区一般为内存的2倍,但最大不超过2G

使用分区来做SWAP(虚拟内存).

1. 使用fdisk来创建交换分区(假设 /dev/sdb2 是创建的交换分区)

2. 使用 mkswap 命令来设置交换分区:

  • mkswap /dev/sdb2

3. 启用交换分区:

  • swapon /dev/sdb2

4. 写入/etc/fstab,以便在引导时启用:

  • /dev/sdb2 swap swap defaults 0 0

5. 删除交换分区

步骤如下:

1、先停止swap分区

  • /sbin/swapoff /dev/sdb2

2、删除自动挂载配置命令

  • vi /etc/fstab

这行删除

  • /dev/sdb2 swap swap defaults 0 0

这样就能把手动增加的交换分区删除了。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP