Linux扩容和删除运行内存(swapfile 交换文件)

article/2025/11/9 12:52:38

1 新增swapfile 交换文件

Linux中Swap(即:交换分区),类似于Windows的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况。Android是基于Linux的操作系统,所以也可以使用Swap分区来提升系统运行效率。

通常情况下,Swap空间应大于或等于物理内存的大小,最小不应小于64M,通常Swap空间的大小应是物理内存的2-2.5倍,Swap的调整对Linux服务器,特别是Web服务器的性能至关重要,通过调整Swap,有时可以越过系统性能瓶颈,节省系统升级费用。

具体使用如下:

# 查看当前的swap大小
free -m# dd命令创建一个分区
dd if=/dev/zero of=/home/swap bs=1024 count=10485761
  1. if 表示input file,表示输入的文件,这里的输入文件为/dev/zero,也就是说扩容的时候,以/dev/zero的内容进行扩容,这里的/dev/zero的内容一般为二进制数据
  2. of 表示output file,表示输出的文件,也就是我们要进行扩容的文件所在路径,这里是/home/swap
  3. bs 表示1 block = 1024字节为扩容单位,也就是1K为基本单位扩容
  4. count 表示开辟多少个block,这里是1048576和block,大小即为:1048576/1024/1024 = 1G,也就是说,当前扩容的文件为1GB大小的空间
# 进行格式化交换,将swap文件格式化成s文件系统
mkswap /home/swap# 使扩容的空间有效
swapon /home/swap# 将扩容的文件信息写入到 /etc/fstab 中
vi /etc/fstab
/home/swap swap swap defaults 0 0使用 free -m 检查是否生效

2 删除swapfile 交换文件

2.1 先关闭swapfile文件:

$ sudo swapoff -v /swapfile

查看示swapfile文件已经关闭

$ swapon -s
Filename				Type		Size		Used		Priority
/dev/nvme0n1p6                          partition	8000508		0		-2

2.2 删除swapfile文件

sudo rm /swapfile

2.3 将swapfile从/etc/fstab删除

/etc/fstab文件中设置了开机自动挂载 /swapfile为交换空间,需要删除相关条目,进入vim编辑器将swapfile从/etc/fstab删除

$ sudo vim /etc/fstab

 进入后通过光标移动位置,移动至swapfile所在的行,删除此行。

相关命令:

dd 删除行; x 向后删除; X 向前删除;
:wq 保存并退出; :wq! 强制保存退出;
:q 不保存退出; :q! 强制不保存退出;
:w 保存但不退出;:e! 放弃所有修改
ubuntu22.04添加/删除/调整swap交换分区或swap交换文件 - 知乎

http://chatgpt.dhexx.cn/article/Yumnd4rC.shtml

相关文章

[深入浅出C语言]理解取整、取余和取模

关于C语言的取模运算,也许你只了解正数取模,而从未接触过负数取模,本文就来分享一波C语言取整、取模和取余的个人学习经验与心得,希望对你有所帮助。 笔者水平有限,难免存在纰漏,欢迎指正交流。 关于取整…

取整和取余

取整和取余在数学的除法运算中,两个数相除是可以算到小数位的。但是,在c语言中两个整数相除其结果是一个整数,只有两数中至少有一个为实数的时候,他们相除的结果才是小数。因此,两个整数相除的结果就会涉及到取整问题。…

C/C++取整函数

C常用的取整函数有三个ceil,floor,round ceil的英文释义:装天花板,装船内格子板;函数功能是向上取整 floor的英文释义:楼层; 地面,地板;函数功能是向下取整 round的英文释义&…

【C语言】取整函数ceil()用法

ceil功能&#xff1a; 返回大于等于表达式的最小整数。 ceil--数学函数&#xff0c;同样要加数学头文件#include<math.h> ceil返回大于等于表达式的最小整数&#xff0c;例如&#xff1a;float a4.5 那么int ceil&#xff08;a&#xff09;5 ceil函数和float强制转换为…

【C语言】深度理解-取整

深度理解 取整的概念 关于取整的介绍向零取整trunc()函数----向0取整 向负无穷大取整floor()函数 向正无穷大取整ceil()函数 四舍五入取整round()函数 总结 关于取整的介绍 在数学中取整方法通常是“四舍五入”&#xff0c;但是在我们编程语言中的取整方法却大有不同。大部分学…

什么是取整?有几种取整方式?C语言又是哪种方式?取模取余一样吗?

大家都知道取整这回事&#xff0c;但是对于取整只有单一的认识&#xff0c;请看下面代码。 int main() {int j -2.9;int i 2.9;printf("%d\n", j);printf("%d\n", i);return 0; } 看这串代码我们先不管数据溢出的问题&#xff0c;直接看最后的结果等于 …

C语言学习之取整取余

1.前言 对于取整&#xff0c;在数学中我们最常见的作法就是四舍五入取整。而在C语言中&#xff0c;我们则是直接通过取整数部分&#xff0c;舍弃小数部分的方式进行取整。那么&#xff0c;所有语言的取整方式是相同的吗&#xff1f;而对于取余&#xff0c;我们可能经常会听到取…

C语言取整方法

文章目录 1. 直接赋值给整型变量int2. 整数除法运算&#xff08;“int / int”&#xff09;取整除法四舍五入 3. 使用floor函数4. 使用ceil函数5. 使用round函数 1. 直接赋值给整型变量int 作用&#xff1a; 使用该方法是将小数部分去除。 int i 3.5;或i (int)3.5; #include…

数据结构——浅谈链表

上午翻源码&#xff0c;翻到了原来学习数据结构时自己实现的链表源码&#xff0c;特此总结一下。源码可能有很多不完善的地方&#xff0c;请多谅解。 按照惯例&#xff0c;还是先来介绍下什么是链表。 链表是一种数据结构&#xff0c;在内存中通过节点记录内存地址而相互链接形…

数据结构:链表-C语言实现

文章目录 链表一. 前言二. 链表的定义2.1 概念2.2 分类 三. 单向无头不循环链表3.1 概念和说明3.2 定义链表结构体3.3 函数接口3.3.1 申请节点3.3.2 链表头插3.3.3 链表尾插3.3.4 在pos节点之后插入3.3.5 在pos节点之前插入3.3.6 链表头删3.3.7 链表尾删3.3.8 删去pos节点3.3.9…

数据结构——链表

数组是常用的数据结构&#xff0c;但是有其局限性&#xff1a; 编译期需要确定元素大小 数组在内存中是连续的&#xff0c;插入或者删除需要移动数组中其他数据 数组适合处理确定长度的&#xff0c;对于插入或者删除不敏感的数据。如果数据是频繁变化的&#xff0c;就需要选择…

数据结构-链表

链表 一、介绍1、单链表1、单链表结构体&#xff1a;2、单链表头插法&#xff1a;3、单链表尾插法&#xff1a; 二、例题1、双指针&#xff08;获取倒数第K个元素、获取中间位置的元素、判断链表是否存在环、判断环的长度、查找第一个公共节点、回文链表&#xff09;1、 判断链…

C语言数据结构、十字链表的分析及实现

目录 前言 一、什么是十字链表 二、认识十字链表 1.十字链表的组成 2.顶点和弧的连接 三、代码逻辑实现 1.出度 2.入度 总结 前言 无论是什么程序都要和数据打交道&#xff0c;一个好的程序员会选择更优的数据结构来更好的解决问题&#xff0c;因此数据结构的重要性不言…

JS 数据结构:链表

单链表 每个节点中只包含一个指针域的链表称为单链表。 头结点—其指针域指向表中第一个结点的指针&#xff08;头结点不是必须的&#xff0c;只是习惯上加上头结点&#xff0c;而头结点的数据域一般记录的是该链表的相关数据&#xff0c;如&#xff1a;链表长度&#xff09;…

数据结构中链表和列表的区别

顺序表和链表由于存储结构上的差异&#xff0c;导致它们具有不同的特点&#xff0c;适用于不同的场景。通过系统地学习顺序 表和链表我们知道&#xff0c;虽然它们同属于线性表&#xff0c;但数据的存储结构有本质的不同。 • 顺序表存储数据&#xff0c;需预先申请一整块足够…

数据结构(六)——循环链表

一、循序链表简介 1、循环链表的定义 循环链表的任意元素都有一个前驱和一个后继&#xff0c;所有数据元素在关系上构成逻辑上的环。 循环链表是一种特殊的单链表&#xff0c;尾结点的指针指向首结点的地址。 循环链表的逻辑关系图如下&#xff1a; 2、循环链表的设计实现 …

数据结构-使用链表实现栈

目录结构 Stack接口 package LinkedListStack;public interface Stack<E> {int getSize();boolean isEmpty();void push(E e); //向栈中添加元素E pop();//向栈中取出元素E peek();//查看栈顶的元素 }LinkedList类 package LinkedListStack;public class LinkedList<…

数据结构 | 链表的实现

目录 单链表双链表数组结构和链式结构的对比 线性表中&#xff0c;除了顺序表这一重要的结构&#xff0c;还有链式结构&#xff0c;而这也是我们常说的链表。 一般是通过定义结构体(类)的方式来表示链表的每一个结点。一般而言&#xff0c;链表的结点都会有数据域和地址域。数据…

Java数据结构之链表

目录 一.单链表 1.单链表的介绍和内存布局 2.单链表的添加和遍历 3.单链表的插入 4.单链表的删除 二.双向链表 1.添加节点 2.遍历节点 3.插入节点 4.删除结点 5.测试 三.单向环形链表 1.问题的引出 ​编辑 2.构建环形链表 1.创建结点 3.测试 3.约瑟夫问题代码的…

c++数据结构:链表

链表是一种物理存储单元上非连续、非顺序的存储结构&#xff0c;数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点&#xff08;链表中每一个元素称为结点&#xff09;组成&#xff0c;结点可以在运行时动态生成。每个结点包括两个部分&#xff1a;一个是…