【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

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

【Linux】设置虚拟内存相关推荐

  1. Linux设置虚拟内存

    用最低配的阿里云服务器,遇到mysqld服务老是挂掉的问题,启动也报错.查看日志/var/log/mysqld.log原来是无法分配足够的内存.没办法物理内存太小,那就弄虚拟内存吧. Linux系统实 ...

  2. linux服务器虚拟内存设置,修改Linux服务器虚拟内存Swap大小

    Linux的Swap相当于Windows的虚拟内存,当物理内存不够的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用. 那些被释放出来的空间可能来自一些很长时间没有什么操作的程序, ...

  3. 理解 Linux 的虚拟内存

    欢迎关注方志朋的博客,回复"666"获面试宝典 来源:https://zhenbianshu.github.io/ 虚拟内存 毋庸置疑,虚拟内存绝对是操作系统中最重要的概念之一.我 ...

  4. linux存储--虚拟内存详解MMU、页表(十)

    内存是程序得以运行的重要物质基础.如何在有限的内存空间运行较大的应用程序,曾是困扰人们的一个难题.为解决这个问题,人们设计了许多的方案,其中最成功的当属虚拟内存技术.Linux作为一个以通用为目的的现 ...

  5. 极度丝滑!CentOS/Unbuntu系统下快速设置虚拟内存,一行命令快速搞定!!!

    CentOS/Unbuntu系统下快速设置虚拟内存,一行命令搞定 快速开始 #请cd到你机器的执行命令的路径下 cd /usr/local/bin #wget脚本 wget https://gitee ...

  6. Linux内存管理:为什么 Linux 需要虚拟内存?为什么 Linux 默认页大小是 4KB?

    Table of Contents 为什么 Linux 需要虚拟内存? 缓存 内存管理 内存保护 总结 推荐阅读 为什么 Linux 默认页大小是 4KB? 页表项 碎片化 总结 推荐阅读 为什么 L ...

  7. 服务器电脑 默认虚拟内存,服务器是否需要设置虚拟内存

    服务器是否需要设置虚拟内存 内容精选 换一换 迁移前,您需要设置目的端服务器.该目的端用来接收源端的数据,同时您也可以使用该目的端进行迁移测试和启动目的端.只有"迁移阶段 > 迁移实时 ...

  8. linux的虚拟内存是4G,而每个进程都有自己独立的4G内存空间,怎么理解?进程虚拟地址4G指拥有4G的寻址能力,需要页表转换为实际物理地址,每个进程用到的内核是直接映射,地址的进程地址-3G的关系

    linux的虚拟内存是4G,而每个进程都有自己独立的4G内存空间,怎么理解? 问: linux的虚拟内存是4G,而每个进程都有自己独立的4G内存空间,怎么理解? 每个进程所拥有的4G独立的虚拟内存空间 ...

  9. 云服务器可以虚拟内存吗,云服务器可以设置虚拟内存吗

    云服务器可以设置虚拟内存吗 内容精选 换一换 开启弹性云服务器的虚拟内存后,会导致硬盘I/O性能下降,因此,平台提供的Windows弹性云服务器默认未配置虚拟内存.如果弹性云服务器内存不足,建议通过& ...

最新文章

  1. 大学计算机一条指令的执行过程实验,实验四 一条指令的执行过程
  2. 【转】 ubuntu12.04更新源 官网和163等
  3. Windows Server 2008虚拟机ERP压力测试(5)
  4. Python在mysql中进行操作是十分容易和简洁的
  5. 前n个自然数的平方和的求解方法--经典与独创
  6. 区块链开发(三)以太坊客户端命令行选项汇总
  7. 邮箱服务器端口以及各大型邮箱smtp服务器及端口收集
  8. SQL:数据库更新语句操作实例
  9. 叉乘与空间曲线的切向量
  10. 注意力机制attention和Transformer
  11. android 正则表达式6-16位字母或数字,一个匹配8-16位数字和字母密码的正则表达式...
  12. Python中用PyPDF2拆分pdf提取页面
  13. Android项目Jenkins配置(自定义参数构建,构建完成后360加固+自动下载签名+多渠道配置,自动乐固加固+签名,自动上传蒲公英,自动上传OSS,自动发送钉钉消息,自动发送企业微信应用)
  14. 怎样将文件压缩并传到服务器,客户端上传压缩文件(zip)的思路和实现
  15. [转]项目实施过程中的风险控制
  16. Vue中components几个组件
  17. 【生科行业报告】生科行业国际巨头们的2020年过得怎么样?(一)
  18. 南通python 培训全栈培训班
  19. 浅谈IM系统之消息必达
  20. 【Jolla】离线更新方法

热门文章

  1. PHP API 框架开发的学习
  2. 10个优秀的Objective-C和iOS开发在线视频教程
  3. nginx优缺点 优化
  4. 【转载】cuda编程入门
  5. pycharm 快捷键2
  6. CSS——CSS创建样式表
  7. 【AI视野·今日CV 计算机视觉论文速览 第198期】Fri, 14 May 2021
  8. 【数字图像处理】一种求图像边缘的方法
  9. 华科00年计算机考研复试机试
  10. 哈希表 HashTable对象 c#