ubuntu内存不足,用Swap扩展增加虚拟内存

Linux增大Swap分区,可以增加虚拟内存,以解决电脑卡机,内存不足等问题

top可以查看cpu的使用情况

lscpu可以查看本机配置的cpu硬件情况

  • 查看内存使用情况 free -h
    (下面显示"交换"或者Swap等字样说明系统已经启动了Swap)
dx@dx-UX330:~$ free -htotal        used        free      shared  buff/cache   available
内存:      7.6Gi       5.5Gi       222Mi       1.2Gi       1.9Gi       620Mi
交换:      2.0Gi       2.0Gi       0.0Ki
  • 查看内存剩余情况df -h
dx@dx-UX330:~$ df -h
文件系统        大小  已用  可用 已用% 挂载点
tmpfs           782M  1.9M  780M    1% /run
/dev/sda6        58G   41G   15G   74% /
tmpfs           3.9G  2.4M  3.9G    1% /dev/shm
tmpfs           5.0M  4.0K  5.0M    1% /run/lock
efivarfs        128K   52K   72K   42% /sys/firmware/efi/efivars
tmpfs           3.9G     0  3.9G    0% /run/qemu
/dev/sda1       256M   36M  221M   14% /boot/efi
tmpfs           782M  1.7M  781M    1% /run/user/1000
/dev/sda4       2.1G   13M  2.1G    1% /media/dx/D卷
/dev/sda3       177G  167G  9.8G   95% /media/dx/OS

由上面观察,/dev/sda6 还有一定空间可用,可作为扩展Swap的备选

  • 查看Swap空间大小
root@dx-UX330:/home/dx# sudo swapon --show
NAME      TYPE SIZE USED PRIO
/swapfile file   2G   2G   -2

观察上面可以知道,目前挂载的swap空间是在一个叫做/swapfile的文件上的,为2G

如果想对现有的Swap空间进行扩展,可以直接新建一个swap文件(当然,不能再叫做/swapfile了,可以换个名字,比如叫做/swap),这是为了为避免在设置时候发生名字冲突。
我们新起的这个文件就叫做/swap(再次提醒,之前设置swap空间的文件叫做/swapfile,新建的叫做/swap)

现在来修改这个新建的/swap的大小,进入系统根目录:


cd /

使用dd命令增加/swap文件的大小。例如,如果想将swap空间扩展到8G,可以执行:


sudo dd if=/dev/zero of=/swap bs=1M count=8192

这里的bs=1M count=8192表示每块大小为1M,共8192块,即总共8G。
当然你也可以让bs=1M count=16384表示每块大小为1M,共16384块,即总共16G。

现在来处理旧的/swapfile文件,查看他是否还在运行
sudo mkswap /swapfile
如果旧的文件正在被用作Swap空间,你需要首先使用swapoff命令来停用它:
sudo swapoff /swapfile

然后,你才可以使用mkswap命令来设置新的Swap空间:sudo mkswap /swap
最后使用swapon命令来启用Swap空间:sudo swapon /swap

注意:当你尝试使用下一步的 sudo swapon /swap 命令启用Swap文件时,系统可能会警告你关于不安全的权限设置。错误消息 swapon: /swap: insecure permissions 0644, 0600 suggested 指出Swap文件的当前权限是0644,这意味着文件所有者可以读写该文件,而其他用户只能读取它。出于安全考虑,Swap文件通常应该只有root用户才能读写,因此建议的权限是0600。要解决这个问题,你可以使用 chmod 命令将Swap文件的权限更改为0600:


sudo chmod 0600 /swap

激活新的Swap空间大小:


sudo mkswap /swap  sudo swapon /swap

最后,使用free -m命令验证Swap空间是否已成功扩展。

  • 设置为永久Swap

如果你希望系统在每次启动时都自动加载新的Swap空间,需要将Swap文件添加到/etc/fstab文件中。可以使用文本编辑器打开该文件,并在文件末尾添加类似下面的行:


/swapfile swap swap defaults 0 0

保存并关闭fstab文件。

原本的文件
在这里插入图片描述

修改后的文件
在这里插入图片描述

电脑重启后,使用命令sudo swapon --show 观察新的Swap是否已经被挂载上

dx@dx-UX330:~$ sudo swapon --show
[sudo] dx 的密码: 
NAME      TYPE SIZE USED PRIO
/swapfile file   2G 1.8G   -2
/swap     file   8G   0B   -3
  • Q:如何查看Swap文件/swapfile的所有者是谁(应该为root用户)
    ls -l /swapfile
    输出应该是类似这样的
    -rw------- 1 root root <文件大小> <日期时间> /swapfile

  • Q:如何修改文件的所有者?
    你可以使用chown命令来更改文件/swapfile的所有者,如下所示:
    sudo chown root:root /swapfile

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/760726.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GUROBI案例实战(六)——排产排程问题(2)

更多可参考&#xff1a;https://github.com/Gurobi/modeling-examples/blob/master/food_manufacturing/food_manufacture_1.ipynb 一、问题简介 (1) 某厂商生产一种香皂的原材料有植物油脂和非植物油脂&#xff0c;其中植物油脂有两种&#xff0c;非植物油脂有三种&#xff…

【Java - 框架 - SpringMVC】(01) SpringMVC框架的简单创建与使用,快速上手

"SpringMVC"框架的简单创建与使用&#xff0c;快速上手&#xff1b; 环境 Java版本"1.8.0_202"&#xff1b;Spring Boot版本"2.5.9"&#xff1b;Windows 11 专业版_22621.2428&#xff1b;IntelliJ IDEA 2021.1.3(Ultimate Edition)&#xff1…

Protobuf 的介绍与使用(入门级)

背景 在移动互联网时代&#xff0c;手机流量、电量是最为有限的资源&#xff0c;而移动端的即时通讯应用无疑必须得直面这两点。 解决流量过大的基本方法就是使用高度压缩的通信协议&#xff0c;而数据压缩后流量减小带来的自然结果也就是省电&#xff1a;因为大数据量的传输必…

提升效率!商务电子邮件在WorkPlace中如何高效运用?安全保障!

高效和安全的沟通是任何组织成功的核心。在我们关于电子邮件类型的系列文章的第二期中&#xff0c;我们将重点关注商业电子邮件在促进无缝交互中的关键作用。当你身处重要的工作场环境时&#xff0c;本系列的每篇文章都提供了电子邮件的不同维度的视角。 “2024年&#xff0c;全…

算法系列--递归

一.如何理解递归 递归对于初学者来说是一个非常抽象的概念,笔者在第一次学习时也是迷迷糊糊的(二叉树遍历),递归的代码看起来非常的简洁,优美,但是如何想出来递归的思路或者为什么能用递归这是初学者很难分析出来的 笔者在学习的过程中通过刷题,也总结出自己的一些经验,总结来…

Java开发---上海得帆(一面)

面试感受 这是我的第一次面试&#xff0c;我感觉我这次面试的很差&#xff0c;很糟糕&#xff0c;十分的糟糕&#xff0c;万分的糟糕。第一次面试&#xff0c;面试了半个小时。我去真的好紧张&#xff0c;脑子里一篇空白。脑子空白还不是最惨的&#xff0c;最惨的是那个八股文…

RabbitMQ--04--Spring Cloud Stream(消息驱动)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 1.Spring Cloud Stream1. 基本介绍https://spring.io/projects/spring-cloud-stream#overview 2.Spring Cloud Stream 解决的痛点问题3.设计思想Stream为什么可以统…

2024网络安全-自学笔记

前言 一、什么是网络安全 网络安全可以基于攻击和防御视角来分类&#xff0c;我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术&#xff0c;而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 无论网络、Web、移动、桌面、云等哪个领域&#xff0c;都有攻与防…

新火种AI|国产手机抢滩“AI+折叠屏”赛道,行业洗牌大战就此开启?

作者&#xff1a;小岩 编辑&#xff1a;彩云 从2023年到2024年&#xff0c;随着新一波人工智能浪潮的加速&#xff0c;消费电子产品也迎来了全新的话题——AI。更重要的是&#xff0c;这场战争看似没有硝烟&#xff0c;但各大厂商都已经暗自角力了许久&#xff0c;特别是手机…

Windows 11 鼠标右键可选择 cmd 命令行选项

** Windows 11 鼠标右键可选择 cmd 命令行选项 ** 在文件夹内打开命令行&#xff0c;只能使用 Windows 自带的 PowerShell &#xff0c; 作为一个 cmd 重度使用用户来说很是折磨&#xff0c;需要打开 cmd 然后切换盘符再 cd 。。。 现在咱们自己创建一个可以打开 cmd 的方法…

Qt调用内置图标

int IconIndex0; QIcon icon QApplication::style()->standardIcon((QStyle::StandardPixmap)IconIndex);按以上代码可以调用Qt内置的71个图标&#xff0c;只要变换IconIndex就可以了&#xff0c;IconIndex为[0,70]。显示如下&#xff1a;图标index名称。

图论中的最小生成树:Kruskal与Prim算法深入解析

&#x1f3ac;慕斯主页&#xff1a;修仙—别有洞天 ♈️今日夜电波&#xff1a;アンビバレント—Uru 0:24━━━━━━️&#x1f49f;──────── 4:02 &#x1f504; ◀️ ⏸ ▶️ ☰ …

西井科技与安通控股签署战略合作协议 共创大物流全新生态

2024年3月21日&#xff0c;西井科技与安通控股在“上海硅巷”新象限空间正式签署战略合作框架协议。双方基于此前在集装箱物流的成功实践与资源优势&#xff0c;积极拓展在AI数字化产品、新能源自动驾驶解决方案和多场景应用&#xff0c;以及绿色物流链等领域的深度探索、强强联…

视频号下载助手失效了?如何解决下载视频问题!

在刷短视频的时候难免会遇到部分的视频号视频下载不下来&#xff0c;那我们该如何解决视频号下载问题呢&#xff1f; 视频号下载助手解决方案 视频号下载助手失效分为两种情况! 1、可以解析&#xff0c;但不能下载 根据使用视频号下载助手常见的问题&#xff0c;我们发现会有…

Linux本地部署TeslaMate结合内网穿透实现公网访问内网车辆信息

文章目录 1. Docker部署TeslaMate2. 本地访问TeslaMate3. Linux安装Cpolar4. 配置TeslaMate公网地址5. 远程访问TeslaMate6. 固定TeslaMate公网地址7. 固定地址访问TeslaMate TeslaMate是一个开源软件&#xff0c;可以通过连接特斯拉账号&#xff0c;记录行驶历史&#xff0c;统…

YOLOv3学习

YOLOv3仅使用卷积层&#xff0c;使其成为一个全卷积网络&#xff08;FCN&#xff09;。文章中&#xff0c;作者提出一个新的特征提取网络&#xff0c;Darknet-53。正如其名&#xff0c;它包含53个卷积层&#xff0c;每个后面跟随着batch normalization层和leaky ReLU层。没有池…

【网络原理】HTTP 请求 (Request)详解

文章目录 &#x1f38d;请求格式&#x1f384;认识URL&#x1f338;query string&#x1f338;关于 URL encode &#x1f340;认识 “方法” (method)&#x1f338;GET方法&#x1f338;POST 方法&#x1f338;GET 和 POST 的区别 &#x1f332;认识请求 “报头” (header)&…

权限管理系统-0.5.0

六、审批管理模块 审批管理模块包括审批类型和审批模板&#xff0c;审批类型如&#xff1a;出勤、人事、财务等&#xff0c;审批模板如&#xff1a;加班、请假等具体业务。 6.1 引入依赖 在项目中引入activiti7的相关依赖&#xff1a; <!--引入activiti的springboot启动器…

Git进阶命令-reset

一、reset命令使用场景 有时候我们提交了一些错误的或者不完善的代码&#xff0c;需要回退到之前的某个稳定的版本,面对这种情况有两种解决方法: 解决方法1&#xff1a;修改错误内容&#xff0c;再次commit一次 解决方法2&#xff1a;使用git reset 命令撤销这一次错误的com…

汽车KL15、KL30、ACC的区别

文章目录 前言一、KL30是什么&#xff1f;二、KL15是什么&#xff1f;KL15信号的演变 三、为啥用KL15、KL30呢&#xff1f; 前言 相信刚接触汽车电子的伙伴都会有一个疑惑&#xff0c;什么是KL15?什么是KL30? 内心一脸懵逼…… KL是德语Klemme的缩写&#xff0c;指的是ECU的…