首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏服务器

    Center OS 7 增加交换内存(虚拟内存)

    Center OS 7 增加交换内存(虚拟内存) 千寻简笔记介绍千寻简文库已开源,Gitee与GitHub搜索chihiro-doc,包含笔记源文件.md,以及PDF版本方便阅读,文库采用精美主题,阅读体验更佳 @[toc]简介本文关键词虚拟内存交换内存实现步骤1、查看内存的使用情况free -mh2、创建一个swap文件,大小为2Gbs 为单位,bs*count = 最终大小dd if=/dev/zero

    83010编辑于 2024-03-14
  • 来自专栏陶士涵的菜地

    内存覆盖与交换

    内存空间的扩充:覆盖技术,交换技术,虚拟存储技术 覆盖技术-解决程序大小超过物理内存总和问题(现在基本不用了),增加了编程负担 思想: 1)将程序分为多个段,常用的段常驻内存,不常用的段需要时调入内存 2)内存分为一个"固定区",若干个"覆盖区" 3)需要常驻的放在"固定区",调入后不在调出(除非运行结束) 4)不常用的段放在"覆盖区" 交换技术-将内存某些进程暂时换出外存,把外存某些具备运行条件的进程换入内存 (进程在内存与磁盘间动态调整),中级调度内存调度中的进程挂起 1)磁盘分为文件区和交换区,交换区使用连续分配方式,交换区的i/o速度比文件区更快 2)如果进程经常出现缺页,说明内存紧张,可以换出一些进程

    1.2K10发布于 2021-01-02
  • 来自专栏linux运维

    内存交换空间管理

    创建交换文件创建交换文件可以增加系统的交换空间。 永久启用交换文件为了在系统重启后仍然启用交换文件,需要编辑 /etc/fstab 文件。 调整交换优先级可以通过调整交换优先级来优化系统的交换行为。 禁用交换文件如果需要禁用交换文件,可以使用 swapoff 命令。禁用交换文件sudo swapoff /swapfile删除交换文件确保交换文件已禁用。 应用更改:sudo sysctl -p7. 监控交换空间使用情况使用 top 或 htop 命令监控系统的内存交换空间使用情况。

    50400编辑于 2025-02-03
  • 来自专栏人人都是极客

    内存与IO的交换

    file-backed pages在内存不足的时候可以直接写回对应的硬盘文件里,称为page-out,不需要用到交换区(swap);而anonymous pages在内存不足时就只能写到硬盘上的交换区( 但是常驻内存的话,就会吃内存,可以通过给硬盘搞一个swap分区或硬盘中创建一个swap文件让匿名页也能交换到磁盘上。可认为是为匿名页伪造的文件背景。 swap分区或swap文件实际上最终是到达了增大内存的效果。当然,如果频繁交换的话,被交换出去的数据的访问就会慢一些,因为要有IO操作了。 1. zRAM机制 不用swap分区,也可以用zRAM机制来缓解内存紧张: 从内存里拿出一段内存空间(compressed block),作为交换空间模拟硬盘的交换分区,用来交换匿名页,并且让kernel看到的物理内存大小不包括这段内存 Android里面普遍使用了zRAM技术,由于zRAM牺牲了CPU时间,所以交换次数还是越少越好。像Android和windows,内存越大越好,因为发生交换的几率就小。

    3.1K31发布于 2019-03-15
  • 来自专栏linux驱动个人学习

    内存与IO的交换【转】

    file-backed pages在内存不足的时候可以直接写回对应的硬盘文件里,称为page-out,不需要用到交换区(swap);而anonymous pages在内存不足时就只能写到硬盘上的交换区( 但是常驻内存的话,就会吃内存,可以通过给硬盘搞一个swap分区或硬盘中创建一个swap文件让匿名页也能交换到磁盘上。可认为是为匿名页伪造的文件背景。 swap分区或swap文件实际上最终是到达了增大内存的效果。当然,如果频繁交换的话,被交换出去的数据的访问就会慢一些,因为要有IO操作了。 1. zRAM机制 不用swap分区,也可以用zRAM机制来缓解内存紧张: 从内存里拿出一段内存空间(compressed block),作为交换空间模拟硬盘的交换分区,用来交换匿名页,并且让kernel看到的物理内存大小不包括这段内存 Android里面普遍使用了zRAM技术,由于zRAM牺牲了CPU时间,所以交换次数还是越少越好。像Android和windows,内存越大越好,因为发生交换的几率就小。

    81720发布于 2019-05-25
  • 来自专栏杨焱的专栏

    LINUX 使用内存交换文件

    发表于2018-11-022019-01-01 作者 wind 第一步:创建交换文件 mkdir /data fallocate -l 4G /data/swap 或 dd if=/dev/zero

    2.4K10编辑于 2021-12-07
  • LyScript 内存交换与差异对比

    LyScript 针对内存读写函数的封装功能并不多,只提供了内存读取和内存写入函数的封装,本篇文章将继续对API进行封装,实现一些在软件逆向分析中非常实用的功能,例如内存交换内存区域对比,磁盘与内存镜像比较 插件地址:https://github.com/lyshark/LyScript内存区域交换: 实现被加载程序内特定一块内存区域的交换,该方法实现原理就是两个变量之间的交换,只是在交换时需要逐个字节进行 from LyScript32 import MyDebug# 交换两个内存区域def memory_xchage(dbg,memory_ptr_x,memory_ptr_y,bytes): ref flag = memory_xchage(dbg, 6815744,6815776,4) print("内存交换状态: {}".format(flag)) dbg.close()PE 文件头节点交换后如下:图片内存区域对比: 可用于对比该进程内存中的特定一块区域的差异,返回是列表中的字典形式,分别传入对比内存x,y以及需要对比的内存长度,此处建议不要超过1024字节。

    73620编辑于 2022-12-22
  • LyScript 内存交换与差异对比

    LyScript 针对内存读写函数的封装功能并不多,只提供了内存读取和内存写入函数的封装,本篇文章将继续对API进行封装,实现一些在软件逆向分析中非常实用的功能,例如内存交换内存区域对比,磁盘与内存镜像比较 插件地址:https://github.com/lyshark/LyScript 内存区域交换: 实现被加载程序内特定一块内存区域的交换,该方法实现原理就是两个变量之间的交换,只是在交换时需要逐个字节进行 from LyScript32 import MyDebug # 交换两个内存区域 def memory_xchage(dbg,memory_ptr_x,memory_ptr_y,bytes): (memory_ptr_x + index) read_byte_y = dbg.read_memory_byte(memory_ptr_y + index) # 交换内存 ) PE文件头节点交换后如下: 内存区域对比: 可用于对比该进程内存中的特定一块区域的差异,返回是列表中的字典形式,分别传入对比内存x,y以及需要对比的内存长度,此处建议不要超过1024字节。

    71820编辑于 2022-12-28
  • 来自专栏人人都是极客

    Linux的内存回收和交换

    ,将部分内存上的数据交换到swap空间上,以便让系统不会因内存不够用而导致oom或者更致命的情况出现。 那么内存回收和swap的关系,我们可以提出以下几个问题: 什么时候会进行内存回收呢? 哪些内存会可能被回收呢? 回收的过程中什么时候会进行交换呢? 具体怎么交换? 如果回收内存可以有两种途径(匿名页交换和file缓存清空),那么我应该考虑在本次回收的时候,什么情况下多进行file写回,什么情况下应该多进行swap交换。 如果符合交换条件的内存较长,是不是可以不用全部交换出去?比如可以交换内存有100M,但是目前只需要50M内存,实际只要交换50M就可以了,不用把能交换的都交换出去。 swapspace version 1, size = 13.7 GiB (14744473600 bytes) no label, UUID=a0ac2a67-0f68-4189-939f-4801bec7e8e1

    5.3K52发布于 2019-05-17
  • 来自专栏架构驿站

    GPU 内存交换技术,知多少?

    Hello folks,我是 Luga,今天我们来聊一下人工智能应用场景 - 构建高效、灵活的计算架构的 GPU 内存交换机技术。 作为一项创新技术,旨在进一步拓展 GPU 在推理工作负载中的利用率, Run:ai 的 GPU 内存交换,又称“模型热交换(Model Hot Swapping)” 便应运而生,以解决上述痛点。 其核心运作方式如下: 1、动态内存卸载: 在特定时间段内没有接收到任何请求的模型,将不再持续占用 GPU 内存。它们会被交换到 CPU 内存中,以释放宝贵的 GPU 资源。 2、快速激活: 当接收到新的请求时,所需的模型会以极小的延迟被迅速交换回 GPU 内存,并立即投入运行。 来一些对比测试数据,具体可参考如下: Model Hot Swapping(模型热交换内存交换技术为企业在部署大型语言模型(LLMs)时提供了一种创新的解决方案,成功在性能和成本之间找到了理想的平衡点

    77410编辑于 2025-02-20
  • 来自专栏授客的专栏

    Linux swappiness参数设置与内存交换

    简介 swappiness,Linux内核参数,控制换出运行时内存的相对权重。swappiness参数值可设置范围在0到100之间。 低参数值会让内核尽量少用交换,更高参数值会使内核更多的去使用交换空间。默认值为60(参考网络资料:当剩余物理内存低于40%(40=100-60)时,开始使用交换空间)。 swappiness参数值说明 vm.swappiness = 0 仅在内存不足的情况下--当剩余空闲内存低于vm.min_free_kbytes limit时,使用交换空间。 vm.swappiness = 1 内核版本3.5及以上、Red Hat内核版本2.6.32-303及以上,进行最少量的交换,而不禁用交换。 vm.swappiness = 10 当系统存在足够内存时,推荐设置为该值以提高性能。

    13K20发布于 2019-09-11
  • 来自专栏雨过天晴

    CentOS7 配置交换分区SWAP

    安装系统时,我们往往会在磁盘分区时,为交换分区单独分出一块儿位置,但当系统安装完成后,我们通过固定的文件位置在配置交换分区。 在配置交换分区前,请确定你放置交换分区的磁盘有足够的空间。 )才可以配置交换空间。 dev/zero是Linux的一种特殊字符设备(输入设备),可以用来创建一个指定长度用于初始化的空文件,如临时交换文件,该设备无穷尽地提供0,可以提供任何你需要的数目。 当然,高度依赖swap会造成物理内存远未使用完,就使用swap分区,我们知道swap分区性能远不如物理内存,这反而降低了系统性能,违背了我们创建swap分区的初衷。 我们希望在物理内存即将满荷时再使用swap,这就决定了swappiness值一般为10-60为宜,固态硬盘可以偏高些。

    3.5K40发布于 2019-03-12
  • 来自专栏存储公众号:王知鱼

    Xconn:CXL 2.0 交换机实现内存共享

    图右说明了 基于CXL 交换机可实现的两种内存共享模式:1. 单设备直通挂载给主机;2. 多设备池化共享给多主机。 CXL 交换机互联价值 使用CXL交换机的优势(图左): 提供标准化的Fabric管理,使多个主机能够高效共享和管理内存池。 更适合复杂的多主机、多设备场景,具有更好的可扩展性和管理性。 这张图展示了两种不同的CXL 2.0内存池化方法的设计和应用场景,交换机的使用在可扩展性和集中管理方面具有明显优势。 小结: 受控移除流程: 类型3设备的受控移除包括信号触发、事件通知、内存解绑、主机准备、设备移除、交换机解绑和最终确认的完整流程。 2.0交换机允许多个节点直接访问共享内存,支持内存级别的直接字节寻址访问,极大提高了数据访问效率。

    2.6K10编辑于 2025-02-11
  • 来自专栏Ywrby

    22-内存空间扩充(覆盖与交换

    覆盖技术 早期计算机内存很小,因此经常出现内存大小不够使用的情况,因此人们引入了覆盖技术,用来解决“程序大小超过物理内存总和”的问题 覆盖技术的思想在于,将程序分为多个段(多个执行模块),常用的模块常驻在内存交换技术 交换(对换)技术的设计思想:内存空间紧张时,系统将内存中某些进程暂时换出外存,把外存中某些已具备运行条件的进程换入内存(进程在内存与磁盘间动态调度) 之前所讲过的中级调度(内存调度),就是要决定哪个处于挂起状态的进程重新调入内存 回忆部分: 暂时换出外存等待的进程状态称为挂起状态(挂起态,suspend)挂起态又可以进一步细分为就绪挂起、阻塞挂起两种状态 进程的状态,控制与通信 交换技术需要考虑的问题 应该在外存(磁盘 什么时候应该交换? 交换通常在许多进程运行且内存吃紧时进行,而系统负荷降低就暂停。例如:在发现许多进程运行时经常发生缺页,就说明内存紧张,此时可以换出一些进程;如果缺页率明显下降,就可以暂停换出。 可优先换出阻塞进程;可换出优先级低的进程;为了防止优先级低的进程在被调入内存后很快又被换出,有的系统还会考虑进程在内存的驻留时间… 需要注意的一点就是整个过程中,进程的PCB始终还是存放在内存队列中的,

    1.1K20编辑于 2022-10-27
  • 来自专栏Linux内核那些事

    一文看懂 | 内存交换机制

    相对于内存来说, 磁盘的容量是非常大的, 所以Linux内核实现了一个叫 内存交换 的功能 -- 把某些进程的一些暂时用不到的内存页保存到磁盘中, 然后把物理内存页分配给更紧急的用户使用, 当进程用到时再从磁盘读回到内存中即可 有了 内存交换 功能, 系统可使用的内存就可以远远大于物理内存的容量. LRU算法 内存交换 过程首先是找到一个合适的用户进程内存管理结构,然后把进程占用的内存交换到磁盘中,并断开虚拟内存与物理内存的映射,最后释放进程占用的内存页。 如果被交换出去的内存页刚好又被访问了,这时又需要从磁盘中把内存页的数据交换内存中。所以,在这种情况下不单不能解决内存紧缺的问题,而且增加了系统的负荷。 非活跃脏链表中的内存页是需要被交换到磁盘的, 当系统中空闲内存页紧缺时就会从非活跃脏链表的尾部开始把内存页刷新到磁盘中, 然后移动到非活跃干净链表中, 非活跃干净链表中的内存页是可以立刻分配给进程使用的

    1.4K30发布于 2021-09-08
  • 来自专栏小俊博客

    Linux解决内存不足-添加SWAP交换分区

    Swap 是 Linux 下的交换分区,类似 Windows 的虚拟内存,当物理内存不足时,系统可把一些内存中不常用到的程序放入 Swap,解决物理内存不足的情况。 3、swap 分区一般为内存的 2 倍,但最大不超过 2G 4、还有尽量不让过早占用 SWAP 可以设置 vm.swappiness 值到 0,这样就不会过早的占用 SWAP 影响 IO 编辑 /etc

    10.4K50发布于 2018-07-05
  • 来自专栏Debug客栈

    操作系统 内存管理 覆盖与交换技术

    不太经常使用的部分,它们存放在磁盘上,当调用它们时才被调入内存覆盖区。 交换技术 交换技术:在分时系统中,用户的进程比内存能容纳的数量要多,这就需要在磁盘上保存那些内存放不下的进程。 在需要运行这些进程时,再将它们装入内存。 进程从内存移到磁盘并再移动回内存称为交换交换技术是进程在内存与外存之间的动态调度,是由操作系统控制的。 后备存储区(又称盘交换区)。 目的:尽可能达到”足够快的交换进程,以使当CPU调度程序想重新调度CPU时,总有进程在内存中处于就绪(准备执行)状态“的理想状态,从而提高内存利用率。 交换技术的原理: (1)换出进程的选择:系统需要将内存中的进程换出时,应该选择那个进程? 根据时间片轮转法或基于优先数的调度算法来选择要换出的进程。 (2)交换时间的确定 在内存空间不够或有不够的危险时,还出内存中的部分进程到外存,以释放所需要的内存。 (3)交换空间的分配 在一些系统中,当进程在内存中时,不再外塔分配磁盘空间。

    3K10发布于 2019-12-23
  • 来自专栏容器化

    Linux如何关闭交换分区,防止内存置换降低性能。

    etc/security/limits.conf 单用户线程数调大 echo "* - nproc 131072" >> /etc/security/limits.conf 单进程可以使用的最大map内存区域数量

    4.3K10发布于 2020-03-30
  • 来自专栏java架构计划训练营

    centos7清理内存缓存

    查看内存使用状态 free -h free -m echo 3 > /proc/sys/vm/drop_caches 参数说明: 0 //默认是0; 1-清空页缓存; 2-清空inode和目录树缓存

    4.1K20编辑于 2022-06-14
  • 来自专栏iSharkFly

    Confluence 7 如何修改启动内存

    和 Java 有关的项目通常和内存都有关。 最近我们的 Confluence 平台经常挂起,通常的原因可能是内存溢出。在对 Confluence 进行调整之前,需要先查看下内存的配置情况。 内存信息 在 Confluence 中,你可以查看当前 Confluence 实例分配了多少内存。 从上面的图片上,我们可以看到当前的内存使用的是 1024MB,这个内存的分配对 Confluence 有点小。 调整内存 例如现在我们希望将内存调整到使用 16GB。 校验内存修改 进入第一步中提示的的路径,检查内存配置是否生效。 如上图显示的,内存配置已经生效了。 https://www.ossez.com/t/confluence-7/13622

    1.4K20发布于 2021-07-31
领券