0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

计算内存与非计算内存有什么区别?

璟琰乀 来源:twt企业IT社区 作者:twt企业IT社区 2020-11-04 11:38 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

通俗的说法:

凡是硬盘上有对应的数据,占用的内存,就是非计算内存,非计算内存需要被别的进程用到时,其中的数据无需page out,因为再次需要读取的时候从硬盘文件中拿出来即可。

凡是硬盘上没有数据对应的内存占用叫做计算内存,例如用C写个程序,分配一块1MB的内存,这部分内存不管其中数据是否有意义,硬盘上没有文件对应,叫做计算内存。

以上所谓“硬盘上有无对应数据”的前提是:计算内存、非计算内存是操作系统的分类,所以操作系统知道硬盘上有对应,才叫非计算内存。虽然任何数据库的内存占用绝大部分是磁盘缓冲,按理说其中的数据硬盘上有对应,但是,这些内存是数据库管理的,操作系统只知道这些内存是DBMS主动向操作系统申请的,其中放的什么,操作系统并不知道,所以是计算内存。

breakdown: 计算内存、非计算内存都是指物理内存占用,而物理内存的情况,由于VMM机制,是时刻在变化的,所以只能说某一瞬间,计算内存、非计算内存各占用多少。

● 计算内存:

凡是进程/程序运行中用程序代码向操作系统申请的内存,全部是计算内存,也就是说除非这个程序运行起来,除了自身代码占用的内存,一点额外的内存也不用,否则它几乎必然会造成计算内存占用的。说“几乎”,是因为计算内存、非计算内存都是指物理内存,如果一个程序申请了1MB内存,但一段时间没有用这部分内存,很可能在其他进程需要内存,且物理内存比较紧张时,按照LRU算法(Latest Recently Unused,最近最少使用),被操作系统部分或全部page out到paging space中,如果全部被page out了,可以说这个时刻,此进程没有使用计算内存。换句话说,就是程序申请了1MB内存,那么它在某一时刻占用的计算内存从0字节~1MB都有可能。

进程主动向操作系统申请分配的内存,从程序编码上来看,以C为例,典型的就是malloc,当然,还有程序语言中的隐式分配,反正对于操作系统来说都一样,例如char *string1=“ABCDEFG”; int number=22222; 前者会导致自动向操作系统申请8个字节,后一个会申请一个字(两个字节)

当进程退出,或者意外崩溃,对于操作系统来说,它知道进程不在了,而进程申请的内存,操作系统明确知道是哪些的,在资源回收的过程中,会自动把这个进程申请的内存释放掉,这个过程是很快的。所以我们可以看到:如果计算内存高企,我们把应用一停,也就是把使用计算内存最多的进程停止,计算内存占用率立刻就下来了。

● 非计算内存:

操作系统明确知道这部分内存的用途是放硬盘对应数据的,所以,显然这部分内存不是任何进程可以控制,也就是说不可能一个程序主动要求分配多少非计算内存或者释放多少。这部分完全是操作系统在直接管理:分配、记录状态、使用、释放,其他进程只可能用间接手段影响非计算内存,例如读写文件。

非计算内存我们常见的是如下用途:

——程序代码:当运行程序时,代码初始装入到物理内存的什么地方、重定位到什么地方,是操作系统管理的,它会记住程序代码放在物理内存什么地方,及其对应程序文件的位置。当程序代码占用的page frame需要被其他用途使用时,操作系统直接把这个page frame转给要使用这部分内存的进程,并记录标志,下次要是这个page原来的内容需要被引用,从对应程序文件中的对应位置读取进入物理内存。有些进程的某些计算内存占用是不能被替换的,例如执行VMM管理任务的操作系统核心进程,所以这部分会有操作系统机制设置标志,这个就是常说的pin住某些内存不准替换掉。

——磁盘访问缓冲区:这个不是常说的缓存区,缓存区(英文Cache)的目的是用来提高性能,而缓冲区(英文Buffer),是为了块设备访问特点的要求,比如硬盘块设备、逻辑卷块设备,必须读写的基本单位是一个块,一般是512字节,哪怕你只读写一个字节,也必须一次读进512字节,修改特定的那一个字节,然后再整个512字节块全部写出到硬盘。这就需要缓冲区的存在。缓冲区的总个数,是不固定的,操作系统可以根据同时在访问的块的数量随时调整。

——NFS访问缓冲区,原理基本同上;

——文件系统缓存:这个肯定是每一个字节都有硬盘文件对应的,显然是非计算内存。

限制 AIX 的 nocomp (非计算)内存最大值。

把 AIX 的

minperm% = 20

maxclient% = 80

maxperm% = 80

调整更低。

解决步骤:

查看原来的AIX的 minperm% 、 maxclient% 、 maxperm% 的值。如下:

Root 用户查看:

》vmo –a

minperm% = 20

maxclient% = 80

maxperm% = 80

把 minperm% 设置成 10 , maxclient% 设置成 20 , maxperm% 设置成 20

用 root 命令行执行:

1 、 vmo -p -o minperm%=10

2 、 vmo -p -o maxclient%=20

3 、 vmo -p -o maxperm%=20

备注:

minperm 和 maxperm 参数的值

操作系统通过把在曾经读写的内存页留在实内存一满足不同要求。如果文件页面在它们的页帧被重新分配前被请求,那就节省了输入输出操作。该文件页面可以来自本地的或远程的(如 NFS )系统。

页帧使用的文件相对用于计算的(工作或程序文本)段的文件的比例是松散地受控于 minperm 和 maxperm 的值的:

如果 RAM 中文件页面所占的百分比高于 maxperm ,页面替换的窃取只用于文件页。

如果 RAM 中文件页面所占的百分比低于 minperm ,页面替换的窃取同时用于文件页和计算页。

如果 RAM 中文件页面所占的百分比介于 minperm 和 maxperm 之间,页面替换只窃取文件页,除非文件页的重调入数量大于计算页数。

其中 Noncomp 在 20 %- 80 %之间,此时内存页交换算法通常只交换文件缓存页,但如果文件缓存页的交换率大于程序页时,程序页也同样被交换。由于 SGA 属于 Comp 页,数据文件缓存属于 Noncomp 页,而在数据大量访问时,文件缓存页的交换率大于程序页( SGA ),因此大量的 SGA 页面被交换;为避免大量 SGA 页被交换,需要降低 maxperm% 值到 35 %以下,这样就只有文件缓存页面被交换,减少了 SGA 交换的次数。

来源:twt企业IT社区

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 硬盘
    +关注

    关注

    3

    文章

    1354

    浏览量

    59561
  • 计算机
    +关注

    关注

    19

    文章

    7763

    浏览量

    92666
  • 内存
    +关注

    关注

    9

    文章

    3173

    浏览量

    76099
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    为啥 AI 计算速度这么惊人?—— 聊聊 GPU、内存与并行计算

    提到AI,大家常说它“算得快”,其实是指AI能在眨眼间处理海量数据。可它为啥有这本事?答案就藏在“GPU+高速内存+并行计算”这trio(组合)里。咱们可以把AI要处理的数据,想象成一大堆“小任务
    的头像 发表于 12-05 14:35 91次阅读
    为啥 AI <b class='flag-5'>计算</b>速度这么惊人?—— 聊聊 GPU、<b class='flag-5'>内存</b>与并行<b class='flag-5'>计算</b>

    内存与数据处理优化艺术

    ,避免了数组索引的额外计算。 选择合适的数据类型同样重要。如果一个变量只需要表示0或1,使用最小所需的数据类型就比使用较大的类型更好,因为它占用内存更少,可能提高缓存利用率。 对于浮点运算,在不需要
    发表于 11-14 07:46

    Credo发布业界首款内存扇出Gearbox

    Weaver,一款内存扇出Gearbox,该产品可显著提升内存带宽和内存密度,优化AI加速器或xPU的计算效率。作为Credo OmniConnect系列的首款产品,Weaver旨在解
    的头像 发表于 11-08 11:01 2048次阅读

    科普:什么AI 内存技术

    AI 内存是一种专为人工智能 (AI) 应用设计的新型内存技术。与传统的通用内存(如 DDR5 或 LPDDR5)不同,AI 内存的核心目标是解决 AI
    的头像 发表于 09-03 15:44 703次阅读

    工业网关的内存有什么功能

    工业网关的内存是其核心硬件组件之一,承担着保障设备高效、稳定运行的关键作用,具体功能可从以下几个方面详细说明: 一、临时数据存储与处理 实时数据缓存:工业网关需要实时采集来自传感器、PLC(可编程
    的头像 发表于 08-15 10:15 423次阅读

    单片机和伺服有什么区别

    : 1. 定义与功能 特性 单片机(Microcontroller) 伺服系统(Servo System) 定义 一种集成CPU、内存、I/O接口的微型计算机芯片,用于控制设备。 一种由伺服电机、编码器
    的头像 发表于 05-26 09:18 571次阅读

    比肩HBM,SOCAMM内存模组即将商业化

    电子发烧友网综合报道,SOCAMM即Space - Optimized CAMM(空间优化内存模组技术),是由英伟达主导研发的面向AI计算、HPC、数据中心等领域的高密度内存解决方案。如今AI大模型
    的头像 发表于 05-17 01:15 3544次阅读

    Samtec应用分享 | 适用于最新内存应用的连接解决方案

    摘要前言 Samtec在为数据通信领域的存储设备创建连接解决方案方面有着悠久的传统。 内存一直是任何计算机系统的重要组成部分。无论是在处理数据之前检索数据,还是将其存储起来以备后用,很难想象任何
    发表于 04-02 11:28 833次阅读
    Samtec应用分享 | 适用于最新<b class='flag-5'>内存</b>应用的连接解决方案

    从边缘计算 到云端计算

    边缘计算与云端计算区别与联系   一、核心区别‌ 数据处理位置‌ 边缘计算‌:在靠近数据源的设备或边缘节点(如传感器、本地服务器)完成
    的头像 发表于 03-27 08:30 661次阅读
    从边缘<b class='flag-5'>计算</b> 到云端<b class='flag-5'>计算</b>

    ATX主板和ITX主板有什么区别

    计算机硬件领域,主板是承载计算机核心组件的关键部件,其类型多样,性能也各有千秋。那么ATX主板和ITX主板有什么区别呢,下面来介绍一下:
    的头像 发表于 03-03 08:47 1571次阅读

    DDR内存的工作原理和信号组成

    内存(DRAM-Random Access Memory)作为现代数字系统的核心组件之一,在计算机、汽车与消费电子产品上可谓无所不在。
    的头像 发表于 02-10 17:42 4640次阅读

    计算和人工智能有什么区别和联系

    计算和人工智能虽然各自具有独特的特点和应用领域,但它们之间存在着紧密的联系和互动。接下来,AI部落小编带您了解云计算和人工智能的区别与联系。
    的头像 发表于 02-06 10:08 1263次阅读

    hyper 内存,Hyper内存:如何监控与优化hyper-v虚拟机的内存使用

    在日常工作中,我们常常需要处理大量的文件和数据,这些重复性任务不仅耗时耗力,还容易因疲劳而导致错误。幸运的是,批量管理工具的出现为这一问题提供了高效的解决方案。今天就为大家介绍Hyper内存
    的头像 发表于 01-24 14:15 1669次阅读
    hyper <b class='flag-5'>内存</b>,Hyper<b class='flag-5'>内存</b>:如何监控与优化hyper-v虚拟机的<b class='flag-5'>内存</b>使用

    海力士展示AI专用计算内存解决方案AiMX-xPU

    在Hot Chips 2024上,海力士专注于AI加速器的标准DRAM之外的产品。该公司展示了其在内存计算方面的最新进展,这次是用其AiMX-xPU和LPDDR-AiM进行LLM推理。其理念是,无需
    的头像 发表于 01-09 16:08 1244次阅读
    海力士展示AI专用<b class='flag-5'>计算</b><b class='flag-5'>内存</b>解决方案AiMX-xPU

    选购边缘计算网关需要考量哪些因素?

    运行。 一、性能与处理能力 边缘计算网关的性能和处理能力是核心考量因素。这包括CPU的处理速度、内存大小、存储容量以及是否支持高性能的GPU或FPGA等加速单元。 1、CPU与内存 CPU型号、主频、核心数以及
    的头像 发表于 01-07 16:19 640次阅读
    选购边缘<b class='flag-5'>计算</b>网关需要考量哪些因素?