9. Linux 交换空间管理

计算机存储器的层次结构

计算机存储器速度越快,成本较高。 为了获得好的性能/价格比,计算机中各种存储器组成一个层
状的塔式结构,取长补短,协调工作。

  • CPU 寄存器,是 CPU 内部用来存放数据的一些小型存储区域,用来暂时存放参与运算的数

    据和运算结果以及一些 CPU 运行需要的信息。

  • CPU 高速缓存,也就是CPU Cache,是一种容量小、速度快的高缓冲存储器,由SRAM组

    成,直接制作在CPU芯片内,速度几乎与CPU一样快。在金字塔式存储体系中它位于自顶向

    下的第二层,仅次于CPU寄存器。其容量远小于内存,但速度却可以接近处理器的频率。

  • 主存储器(Main memory),简称主存或内存,其作用是存放指令和数据,并能由中央处

    理器(CPU)直接随机存取。主存储器速度比CPU高速缓存慢,但存储容器却大的多。

    主存储器的速度一般用存取时间衡量,即每次与CPU间数据处理耗费的时间,以纳秒(ns)为

    单位。大多数SDRAM内存芯片的存取时间为5、6、7、8或10ns。

    主存储器的带宽计算公式:带宽=频率*位宽/8。

    例如:DDR4 内存频率是3600 MHz,在64位系统(双通道位宽为128,以此类推),

    1B=8bit,

    • 单通道 DDR4-3600:3600MHz * 64bit / 8=28800MB/S

    • 双通道 DDR4-3600:3600MHz * 64bit * 2 / 8=57600MB/S

  • 辅助存储器,速度慢的多,优点是容量大,可持久化存储。

计算机存储器的工作原理

  1. CPU运行程序时,先从寄存器中读取数据。如果在寄存器中可以找到数据,则直接从寄存器
    中读取。如果在寄存器中找不到数据,则从CPU Cache中读取数据,并将数据缓存在CPU
    Cache中。
  2. 如果在CPU cache中可以找到数据,则直接从CPU Cache中读取。如果在CPU cache中找不
    到数据,则从主存储器(内存)中读取数据,将数据缓存在主存储器中。
  3. 如果在内存中可以找到数据,则直接从内存中读取。如果在内存中找不到数据,则从辅助存
    储器中读取数据,例如机械磁盘、光盘、U盘等,并将数据缓存在内存中。

物理内存

计算机系统将内存划分为固定大小的块,称为 page,标准 page 大小为4 KiB。进程并不直接对
物理内存寻址,每个进程具有虚拟地址空间virtual address space。当进程请求内存时,MMU
将进程获得的虚拟地址(VA,Virtual Address )映射到物理地址(PA,Physical Address )。

MMU是Memory Management Unit的缩写,即内存管理单元,它是CPU中用来管理虚拟存
储器、物理存储器的控制线路,负责将虚拟地址映射为物理地址,以及提供硬件机制的内存
访问授权。

思考:为什么CPU不直接访问物理地址?

  1. 虚拟内存的容量是物理内存和交换空间的总和,而虚拟地址负责映射到物理内存地址和交换
    空间地址。
  2. 进程使用内存的过程中,希望内存是连续的。如果进程直接访问物理地址,则内核很难保证
    进程获得的物理地址空间是连续的,因为进程存在着运行和退出,就会出现内存碎片化。进
    程的虚拟地址在虚拟内存中是连续的,达到了内存连续的目的,而 MMU 会将进程的虚拟地
    址映射到物理地址。

Swap 空间

Swap,意思是“交换”、“实物交易”。Linux Swap(交换)空间是受Linux内核内存子系统控制的
磁盘区域。

  • 功能1:当内存使用量超过定义的限制时,内核寻找已分配给进程但空闲的内存页,将该空

    闲的内存页写入到交换空间,并向其他进程重新分配RAM页面。

  • 功能2:如果某个程序需要访问磁盘上的页面,则内核会找到另一个空闲的内存页, 将其写

    入到磁盘,然后从交换区重新调用所需的页面。

  • 功能3:如果某个程序需要访问数据,访问的数据存放在交换空间,则该程序直接从交换空

    间读取数据,而不需要从磁盘原始位置读取,进而提高速度。

简单地说,Linux Swap 空间就是在内存不够的情况下,操作系统先把内存中暂时不用的数据,存
到硬盘的交换空间,腾出内存来让别的程序运行,和Windows的虚拟内存(pagefile.sys)的作
用是一样的。

交换空间只是临时的解决办法。虽然交换空间能够作为"虚拟"内存使用,但由于交换区位于磁盘
上,它的速度比物理内存慢的多,因此如果需要更快的速度的话,最好的办法仍然是加大物理内
存。

查看内存

# 默认单位是KiB,使用-m选项,以MiB为单位[root@centos7 ~]# freetotal usedfreeshared buff/cache available Mem:40261563304603528844121361668523485576Swap:406322804063228

输出说明:
Mem:

  • total:物理内存空间大小。
  • used:使用的内存 (total - free - buffers - cache)。
  • free:未使用的内存空间大小(真正的空闲,未被任何程序占用)。
  • shared:多个进程共享的内存空间大小。
  • cached:从磁盘读取的数据占用的内存空间大小,待以后使用(数据没有被修改)。
  • buffers:被更改但未写回磁盘的数据占用的内存空间大小。

Swap:

  • total:交换空间大小。
  • used:使用的交换空间大小。
  • free:未使用交换空间大小。

Swap 空间大小

管理员应根据系统的内存工作负载来调整交换空间大小。 应用供应商有时会提供这方面的建议。
根据物理内存总量,下表提供了一些指导。

物理内存(RAM)交换空间允许HIBERNATE时的交换空间
2GiB或以下两倍的RAM三倍的RAM
2GiB和8GiB之间同等的RAM两倍的RAM
8GiB和64GiB之间至少4GiB1.5倍的RAM
64GiB以上至少4GiB不建议Hibernate

笔记本电脑和台式机的Hibernate功能会在关闭系统电源之前使用交换空间来保存RAM内容。重
新打开系统时, 内核将从交换空间恢复RAM内容,无需完全启动。 对于这些系统而言,交换空
间需要超过RAM量。

创建交换空间

# 使用parted创建所需大小的分区并将其文件系统类型设置为linux-swap[root@centos7 ~]# parted /dev/sdb mklabel gpt[root@centos7 ~]# parted /dev/sdb unit MiB mkpart swap01 linux-swap 12049[root@centos7 ~]# parted /dev/sdb unit MiB print# 格式化swap空间[root@centos7 ~]# mkswap /dev/sdb1Setting up swapspace version1, size=2097148KiB no label,UUID=2bf4e179-3648-4412-9495-3b278df4acd6

激活 swap 空间

# 激活swap空间[root@centos7 ~]# swapon /dev/sdb1# 查看swap设备列表[root@centos7 ~]# swapon -sFilename Type Size Used Priority /dev/dm-1 partition40632280-2 /dev/sdb1 partition20971480-3

默认情况下,多个交换空间具有相同的优先级时,系统会按顺序使用交换空间,即内核先使用第
一个已激活交换空间,直至其空间已满,然后开始使用第二个交换空间。在激活交换分区的时
候,可以为每个交换空间定义一个优先级,从而强制按该顺序使用交换空间。
swapon 命令使用-p选项指定优先级,优先级介于-1和32767之间,值越大优先级越高。
示例:

[root@centos7 ~]# swapon -p 4 /dev/sdb1

取消 swap 空间激活

[root@centos7 ~]# swapoff /dev/sdb1[root@centos7 ~]# swapon -sFilename Type Size Used Priority /dev/dm-1 partition40632280-2

持久化激活 swap 空间

修改/etc/fstab文件,添加如下类似记录:

UUID=2bf4e179-3648-4412-9495-3b278df4acd6 swap swappri=400

使用命令swapon -a激活/etc/fstab中所有交换设备。
使用命令swapoff -a取消/etc/fstab中所有交换设备激活。

[root@centos7 ~]# swapon -a[root@centos7 ~]# swapon -sFilename Type Size Used Priority /dev/dm-1 partition40632280-2 /dev/sdb1 partition20971480-3[root@centos7 ~]# swapoff -a[root@centos7 ~]# swapon -s~]# swapon -a[root@centos7 ~]# swapon -sFilename Type Size Used Priority /dev/dm-1 partition40632280-2 /dev/sdb1 partition20971480-3[root@centos7 ~]# swapoff -a[root@centos7 ~]# swapon -s

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

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

相关文章

选择开源镜像的5个理由:可控、安全、灵活、免费、可扩展

选择开源镜像的5个理由:可控、安全、灵活、免费、可扩展 在AI技术快速落地的今天,开源镜像已成为开发者构建智能应用的重要基础设施。尤其在自然语言处理领域,高质量的预训练模型镜像极大降低了部署门槛。本文将以一个典型的AI中英翻译服务项…

智能翻译请求排队:CSANMT高并发下的公平调度

智能翻译请求排队:CSANMT高并发下的公平调度 背景与挑战:AI智能中英翻译服务的演进需求 随着全球化进程加速,跨语言沟通已成为企业协作、内容创作和科研交流中的常态。AI驱动的智能翻译服务正逐步取代传统规则式机器翻译,成为主…

学术论文润色辅助:CSANMT初稿翻译+人工精修流程

学术论文润色辅助:CSANMT初稿翻译人工精修流程 📌 引言:AI 智能中英翻译服务的兴起与挑战 随着全球科研交流日益频繁,中文研究者向国际期刊投稿的需求持续增长。然而,语言表达不地道、术语使用不规范、句式结构生硬等问…

CSANMT模型量化压缩:在不损失精度下减小内存占用

CSANMT模型量化压缩:在不损失精度下减小内存占用 🌐 AI 智能中英翻译服务 (WebUI API) 项目背景与技术挑战 随着全球化进程加速,高质量的机器翻译需求日益增长。尤其在跨语言交流、文档本地化和国际业务拓展中,中英翻译作为最…

M2FP模型压缩实战:Pruning技术应用指南

M2FP模型压缩实战:Pruning技术应用指南 📌 背景与挑战:高精度模型的部署瓶颈 M2FP(Mask2Former-Parsing)作为当前领先的多人人体解析模型,在语义分割任务中表现出色,尤其在复杂场景下对重叠、遮…

Spring Boot 是一个基于 Spring 框架的开源 Java 开发框架

Spring Boot 概述Spring Boot 是一个基于 Spring 框架的开源 Java 开发框架,旨在简化 Spring 应用的初始搭建和开发过程。它通过自动配置、起步依赖和嵌入式服务器等特性,显著减少了配置工作量,使开发者能够快速构建独立运行的、生产级的应用…

10. Linux 系统启动原理

CentOS 7 启动过程 现代计算机系统是硬件与软件的复杂组合。从加电状态开始,到拥有登录提示符的运行中系统, 这需要大量的硬件和软件配合工作。 以下列表从较高层面概述了 CentOS7 启动过程。 计算机接通电源。系统固件(现代UEFI或更旧的BIO…

开源社区新星:这款翻译镜像为何获开发者青睐

开源社区新星:这款翻译镜像为何获开发者青睐 在 AI 技术快速渗透日常开发与业务场景的今天,高质量、低门槛、易集成的智能翻译服务正成为开发者工具链中的关键一环。尤其在跨国协作、文档本地化、内容出海等场景中,中英互译的需求日益增长。然…

智能翻译错误处理:CSANMT异常输入的优雅应对

智能翻译错误处理:CSANMT异常输入的优雅应对 🌐 AI 智能中英翻译服务 (WebUI API) 项目背景与核心挑战 随着全球化进程加速,跨语言沟通需求激增。AI 驱动的智能翻译系统已成为企业、开发者乃至个人用户的刚需工具。然而,在实际应…

M2FP模型在智能广告投放中的人体特征分析

M2FP模型在智能广告投放中的人体特征分析 📌 引言:为何人体解析技术正在重塑广告投放策略? 在数字广告竞争日益激烈的今天,精准用户画像与场景化内容匹配已成为提升转化率的核心手段。传统广告系统多依赖点击行为、设备信息和基…

M2FP模型微调:适配特定服装类型的解析

M2FP模型微调:适配特定服装类型的解析 📌 背景与挑战:通用人体解析的局限性 在当前计算机视觉领域,多人人体解析(Human Parsing) 已成为智能试衣、虚拟换装、人像编辑等应用的核心技术。ModelScope 提供的 …

企业级翻译系统搭建:CSANMT+负载均衡实现高可用部署

企业级翻译系统搭建:CSANMT负载均衡实现高可用部署 🌐 AI 智能中英翻译服务 (WebUI API) 在多语言业务快速扩展的今天,高质量、低延迟的自动翻译能力已成为企业出海、内容本地化和跨语言协作的核心基础设施。传统的翻译工具往往存在译文生硬…

智能翻译预处理流水线:CSANMT前端文本清洗技巧

智能翻译预处理流水线:CSANMT前端文本清洗技巧 🌐 AI 智能中英翻译服务 (WebUI API) 项目背景与技术定位 随着全球化进程加速,跨语言沟通需求激增。传统机器翻译系统在面对复杂句式、专业术语或口语化表达时,常出现语义失真、…

CSANMT模型在多模态翻译中的文本提取与融合

CSANMT模型在多模态翻译中的文本提取与融合 引言:AI智能中英翻译服务的演进需求 随着全球化进程加速,跨语言信息交互已成为企业、科研和个人日常工作的刚需。传统机器翻译系统虽已实现基础语义转换,但在语境理解、句式重构和表达自然度方面仍…

CSANMT模型效果对比:中英互译质量深度评测

CSANMT模型效果对比:中英互译质量深度评测 🌐 AI 智能中英翻译服务 (WebUI API) 项目背景与技术选型动因 随着全球化进程加速,跨语言沟通需求激增。传统统计机器翻译(SMT)在处理长句、语义连贯性方面表现乏力&#xf…

M2FP模型在虚拟时装秀中的创新应用

M2FP模型在虚拟时装秀中的创新应用 🌐 虚拟时尚的视觉基石:M2FP多人人体解析服务 随着数字时尚产业的迅猛发展,虚拟时装秀、AI换装系统、个性化推荐引擎等应用场景对高精度人体语义分割提出了前所未有的需求。传统图像处理方法在面对多人场…

轻量模型为何更快?CSANMT CPU优化技术原理解析

轻量模型为何更快?CSANMT CPU优化技术原理解析 📌 技术背景:AI智能翻译的轻量化需求 随着自然语言处理(NLP)技术的飞速发展,神经网络机器翻译(Neural Machine Translation, NMT)已成…

M2FP模型在时尚行业的创新应用:智能穿搭推荐系统

M2FP模型在时尚行业的创新应用:智能穿搭推荐系统 引言:从人体解析到智能时尚的跨越 随着人工智能技术在视觉领域的不断突破,语义分割正成为连接物理世界与数字体验的关键桥梁。在时尚行业中,如何精准理解用户的穿着状态、身体结构…

自动化测试方案:保障翻译API的稳定性与准确性

自动化测试方案:保障翻译API的稳定性与准确性 📌 引言:AI智能中英翻译服务的工程挑战 随着全球化进程加速,高质量的机器翻译已成为跨语言沟通的核心基础设施。本项目基于ModelScope平台的CSANMT神经网络翻译模型,构建了…

网站多语言改造实战:用AI镜像快速生成英文版内容

网站多语言改造实战:用AI镜像快速生成英文版内容 随着全球化进程的加速,越来越多的企业和开发者开始关注网站的多语言支持能力。对于中文为主的网站而言,如何高效、低成本地构建高质量英文版本,成为一项关键挑战。传统的人工翻译…