CN111581119B - 页面回收方法及装置 - Google Patents
页面回收方法及装置 Download PDFInfo
- Publication number
- CN111581119B CN111581119B CN202010378239.8A CN202010378239A CN111581119B CN 111581119 B CN111581119 B CN 111581119B CN 202010378239 A CN202010378239 A CN 202010378239A CN 111581119 B CN111581119 B CN 111581119B
- Authority
- CN
- China
- Prior art keywords
- load
- page
- proportion
- determining
- recovery
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种页面回收方法及装置,应用于电子设备,方法包括:确定操作系统当前的IO负载;基于所述IO负载确定文件页面和匿名页面的回收比例;基于所述回收比例进行页面回收。采用本申请实施例可实现动态调整文件页面和匿名页面的回收比例。
Description
技术领域
本申请涉及电子技术领域,尤其涉及一种页面回收方法及装置。
背景技术
操作系统(如Linux)回收内存主要是回收文件页面和匿名页面,文件页面指的是有文件背景的页面。匿名页面指的是没有文件背景的页面。目前,文件页面和匿名页面的回收比例是固定的。
发明内容
本申请实施例提供一种页面回收方法及装置。
第一方面,本申请实施例提供一种页面回收方法,应用于电子设备,所述方法包括:
确定操作系统当前的IO负载;
基于所述IO负载确定文件页面和匿名页面的回收比例;
基于所述回收比例进行页面回收。
第二方面,本申请实施例提供一种页面回收装置,应用于电子设备,所述装置包括:
负载确定单元,用于确定操作系统当前的IO负载;
比例确定单元,用于基于所述IO负载确定文件页面和匿名页面的回收比例;
页面回收单元,用于基于所述回收比例进行页面回收。
第三方面,本申请实施例提供一种电子设备,包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行本申请实施例第一方面任一方法中的步骤的指令。
第四方面,本申请实施例提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本申请实施例第一方面任一方法中所描述的部分或全部步骤。
第五方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面任一方法中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
可以看出,在本申请实施例中,首先确定操作系统当前的IO负载,然后基于该IO负载确定文件页面和匿名页面的回收比例,最后基于该回收比例进行页面回收,实现了动态调整文件页面和匿名页面的回收比例,另外,回收比例是基于操作系统当前的IO负载调整的,使得页面回收更合理。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种电子设备的结构示意图;
图2是本申请实施例提供的一种电子设备的软件结构示意图;
图3是本申请实施例提供的一种页面回收方法的流程示意图;
图4是本申请实施例提供的一种页面回收装置的结构示意图。
具体实施方式
下面将结合附图,对本申请实施例中的技术方案进行描述。
第一部分,本申请所公开的技术方案的软硬件运行环境介绍如下。
示例性的,图1示出了电子设备100的结构示意图。电子设备100可以包括处理器110、外部存储器接口120、内部存储器121、通用串行总线(universal serial bus,USB)接口130、充电管理模块140、电源管理模块141、电池142、天线1、天线2、移动通信模块150、无线通信模块160、音频模块170、扬声器170A、受话器170B、麦克风170C、耳机接口170D、传感器模块180、指南针190、马达191、指示器192、摄像头193、显示屏194以及用户标识模块(subscriber identification module,SIM)卡接口195等。
电子设备可以是还包含其它功能诸如个人数字助理和/或音乐播放器功能的便携式电子设备,诸如手机、平板电脑、具备无线通讯功能的可穿戴电子设备(如智能手表)等。便携式电子设备的示例性实施例包括但不限于搭载IOS系统、Android系统、Microsoft系统或者其它操作系统的便携式电子设备。上述便携式电子设备也可以是其它便携式电子设备,诸如膝上型计算机(Laptop)等。还应当理解的是,在其他一些实施例中,上述电子设备也可以不是便携式电子设备,而是台式计算机。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的部件,也可以集成在一个或多个处理器中。在一些实施例中,电子设备101也可以包括一个或多个处理器110。其中,控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。在其他一些实施例中,处理器110中还可以设置存储器,用于存储指令和数据。示例性地,处理器110中的存储器可以为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。这样就避免了重复存取,减少了处理器110的等待时间,因而提高了电子设备101处理数据或执行指令的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路间(inter-integrated circuit,I2C)接口、集成电路间音频(inter-integrated circuitsound,I2S)接口、脉冲编码调制(pulse code modulation,PCM)接口、通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口、移动产业处理器接口(mobile industry processor interface,MIPI)、用输入输出(general-purpose input/output,GPIO)接口、SIM卡接口和/或USB接口等。其中,USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口、Micro USB接口、USB Type C接口等。USB接口130可以用于连接充电器为电子设备101充电,也可以用于电子设备101与外围设备之间传输数据。该USB接口130也可以用于连接耳机,通过耳机播放音频。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110、内部存储器121、外部存储器、显示屏194、摄像头193和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量、电池循环次数、电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1、天线2、移动通信模块150、无线通信模块160、调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络)、蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS)、调频(frequency modulation,FM)、近距离无线通信技术(near field communication,NFC)、红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像、视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD)、有机发光二极管(organic light-emittingdiode,OLED)、有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED)、柔性发光二极管(flex light-emittingdiode,FLED)、迷你发光二极管(mini light-emitting diode,miniled)、MicroLed、Micro-oLed、量子点发光二极管(quantum dot light emitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或多个显示屏194。
电子设备100可以通过ISP、摄像头193、视频编解码器、GPU、显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点、亮度、肤色进行算法优化。ISP还可以对拍摄场景的曝光、色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或多个摄像头193。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1、MPEG2、MPEG3、MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别、人脸识别、语音识别、文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储一个或多个计算机程序,该一个或多个计算机程序包括指令。处理器110可以通过运行存储在内部存储器121的上述指令,从而使得电子设备101执行本申请一些实施例中所提供的显示页面元素的方法,以及各种应用以及数据处理等。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统;该存储程序区还可以存储一个或多个应用(比如图库、联系人等)等。存储数据区可存储电子设备101使用过程中所创建的数据(比如照片,联系人等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储部件,闪存部件,通用闪存存储器(universal flash storage,UFS)等。在一些实施例中,处理器110可以通过运行存储在内部存储器121的指令,和/或存储在设置于处理器110中的存储器的指令,来使得电子设备101执行本申请实施例中所提供的显示页面元素的方法,以及其他应用及数据处理。电子设备100可以通过音频模块170、扬声器170A、受话器170B、麦克风170C、耳机接口170D、以及应用处理器等实现音频功能。例如音乐播放、录音等。
传感器模块180可以包括压力传感器180A、陀螺仪传感器180B、气压传感器180C、磁传感器180D、加速度传感器180E、距离传感器180F、接近光传感器180G、指纹传感器180H、温度传感器180J、触摸传感器180K、环境光传感器180L、骨传导传感器180M等。
其中,压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测所述触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器180B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(即X、Y和Z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
环境光传感器180L用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测电子设备100是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,电子设备100利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,电子设备100执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备100对电池142加热,以避免低温导致电子设备100异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备100对电池142的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
示例性的,图2示出了电子设备100的软件结构框图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。应用程序层可以包括一系列应用程序包。
如图2所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图2所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
第二部分,本申请实施例所公开的权要保护范围介绍如下。
请参阅图3,图3是本申请实施例提供了一种页面回收方法的流程示意图,应用于电子设备,如图所示,本页面回收方法包括以下操作。
步骤301:确定操作系统当前的输入输出(Input Output,IO)负载。
步骤302:基于所述IO负载确定文件页面和匿名页面的回收比例。
步骤303:基于所述回收比例进行页面回收。
在本申请的一实现方式中,所述基于所述IO负载确定文件页面和匿名页面的回收比例,包括:
若所述IO负载小于设定值,则确定所述回收比例为第一比例;
若所述IO负载大于或等于所述设定值,则确定所述回收比例为第二比例。
其中,在所述第二比例中所述文件页面的占比小于在所述第一比例中所述文件页面的占比。举例来说,假设第一比例为9:6,在第一比例中文件页面的占比为9/15,假设第二比例为7:8,在第二比例中文件页面的占比为7/15,可见7/15<9/15。
其中,在所述第二比例中所述匿名页面的占比大于在所述第一比例中所述匿名页面的占比,举例来说,假设第一比例为9:6,在第一比例中匿名页面的占比为6/15,假设第二比例为7:8,在第一比例中匿名页面的占比为8/15,可见8/15>6/15。
其中,该设定值可以是用户自定义的,也可以是电子设备自定义的,在此不作限定。
其中,第一比例是设定比例。第二比例可以是设定比例,也可以不会设定比例,在此不作限定。
具体地,在当前系统IO负载较高时,表示当前系统IO比较颠簸,回收文件页面可能会导致高速缓冲存储器(cache)颠簸加剧,严重会导致系统因IO颠簸而死机。在本申请实施例中,在当前系统IO负载较高时,降低文件页面的比例,更多回收匿名页面,缓解了因过多回收文件页面导致cache颠簸的问题,进而避免了系统因IO颠簸而死机的问题。
在本申请的一实现方式中,所述方法还包括:
基于所述IO负载确定所述第二比例。
可选地,所述基于所述IO负载确定所述第二比例,包括:
基于IO负载与回收比例的映射关系和所述IO负载,确定所述第二比例。
其中,IO负载与回收比例的映射关系如表1所示。如表1所示,IO负载越大,在页面回收比例中文件页面的占比越小。
表1
IO负载 | 文件页面与匿名页面的回收比例 |
0~10/s | 9:6 |
11/s~20/s | 7:8 |
21/s~30/s | 5:10 |
...... | ...... |
可选地,所述基于所述IO负载确定所述第二比例,包括:
基于回收比例计算公式、所述IO负载和所述第一比例确定所述第二比例。
其中,所述回收比例计算公式为:P1=P2-[(X1-X2)/(X1+X2)]*P2,其中,P1和P2均为比例,P1为待确定的比例,P2为已知比例,X1为IO负载,X2为所述设定值。
举例来说,假设P2为9:6,X1为15/s,X2为10/s,那么P1=6:5。
在本申请的一实现方式中,所述确定操作系统当前的IO负载,包括:
获取目标时段内所述操作系统当前的IO总量,所述目标时段包括当前系统时刻;
基于IO负载计算公式和所述IO总量确定所述IO负载。
其中,所述IO负载计算公式为:X=Y/T,X为IO负载,Y为IO总量,T为时长。
其中,电子设备的操作系统会周期性地进行任务调度,用于调度IO。如每30s进行一次任务调度、每45s进行一次任务调度、每60s进行一次任务调度、每70s进行一次任务调度等等。目标时段为电子设备当前进行任务调度的时段,如假设电子设备每30s进行一次任务调度,假如电子设备在时刻13:52:30开始进行任务调度,系统当前时刻为13:52:40,那么目标时段为:13:52:30~13:53:00。
举例来说,假设目标时段为13:52:30~13:53:00,Y为300,那么X=300/30s=10/s。
在本申请的一实现方式中,所述方法还包括:
确定页面回收数量;
所述基于所述回收比例进行页面回收,包括:基于所述页面回收数量和所述回收比例进行页面回收。
其中,该页面回收数量表示本次需要回收的页面的总数,该页面回收数量可以是预先定义的,也可以是电子设备确定的,在此不作限定。
举例来说,假设页面回收数量为30,回收比例为9:6,那么本次需要回收文件页面18个,本次需要回收匿名页面12个。
在本申请的一实现方式中,所述确定页面回收数量,包括:基于所述IO负载确定页面回收数量。
可选地,所述基于所述IO负载确定页面回收数量,包括:
若所述IO负载小于所述设定值,则确定所述页面回收数量为第一回收数量;
若所述IO负载大于或等于所述设定值,则确定所述页面回收数量为第二回收数量,所述第一回收数量大于所述第二回收数量。
其中,第一回收数量是设定数量。第二回收数量是设定数量可以是设定数量,也可以不会设定数量,在此不作限定。
具体地,在当前系统IO负载较高时,表示当前系统IO比较颠簸,回收页面较多会导致cache颠簸加剧,严重会导致系统因IO颠簸而死机。在本申请实施例中,在当前系统IO负载较高时,适当减少页面回收数量,缓解了因过多回收页面导致cache颠簸的问题,进而避免了系统因IO颠簸而死机的问题。
可选地,所述方法还包括:基于所述IO负载确定所述第二回收数量。
可选地,所述基于所述IO负载确定所述第二回收数量,包括:基于IO负载与回收数量的映射关系和所述IO负载,确定所述第二回收数量。
其中,IO负载与回收数量的映射关系如表2所示。如表2所示,IO负载越大,回收数量越小。
表2
可选地,所述基于所述IO负载确定所述第二回收数量,包括:
基于回收数量计算公式、所述IO负载和所述第一回收数量确定所述第二回收数量。
其中,所述回收数量计算公式为:K1=K2-[(X1-X2)/(X1+X2)]*K2,其中,K1和K2均为数量,K1为待确定的数量,K2为已知数量,X1为IO负载,X2为所述设定值。
举例来说,假设K2为30,X1为15/s,X2为10/s,那么K1=24。
在本申请的一实现方式中,所述确定页面回收数量,包括:基于当前系统时刻确定页面回收数量。
可选地,所述基于当前系统时刻确定页面回收数量,包括:
若设定时段包括所述当前系统时刻,则确定所述页面回收数量为第三回收数量;
若所述设定时段不包括所述当前系统时刻,则确定所述页面回收数量为第四回收数量,所述第三回收数量小于所述第四回收数量。
其中,设定时段为电子设备经常被使用的时段,例如9:00am~12:00am,14:00pm~18:00pm,20:00pm~24:00pm等。
其中,第三回收数量是设定数量。所述第四回收数量可以是设定数量,也可以不是设定数量,在此不作限定。
具体地,在当前系统时刻属于设定时段内时,表示电子设备当前会被经常使用,使得当前系统IO负载较高,此时回收页面较多会导致cache颠簸加剧,严重会导致系统因IO颠簸而死机。在本申请实施例中,在当前系统时刻属于设定时段内时,适当减少页面回收数量,缓解了因过多回收页面导致cache颠簸的问题,进而避免了系统因IO颠簸而死机的问题。
在一个实施例中,所述方法还包括:基于所述当前系统时刻确定所述第四回收数量。
可选地,所述基于所述当前系统时刻确定所述第四回收数量,包括:基于时段与回收数量的映射关系和所述当前系统时刻,确定所述第四回收数量。
其中,时段与回收数量的映射关系如表3所示。
表3
时段 | 回收数量 |
12:00am~14:00pm | 28 |
18:00pm~20:00pm | 25 |
00:00pm~6:00am | 30 |
...... | ...... |
在一个实施例中,所述方法还包括:基于所述IO负载确定所述第四回收数量。
需要说明的是,确定第四回收数量与确定第二回收数量的确定方式是一样的,具体参见上述第二回收数量的确定方式,在此不再叙述。
在一个实施例中,所述方法还包括:基于所述IO负载和所述当前系统时刻确定所述第四回收数量。
可选地,所述基于所述IO负载和所述当前系统时刻确定所述第四回收数量,包括:基于IO负载和时段与回收数量的映射关系、所述IO负载和所述当前系统时刻,确定所述第四回收数量。
其中,IO负载和时刻与回收数量的映射关系如表3所示。
表3
可选地,所述基于所述页面回收数量和所述回收比例进行页面回收,包括:基于所述页面回收数量和所述回收比例进行页面回收,按照页面被写次数从小到大的顺序进行页面回收。可见,回收被写次数较小的页面,避免了一些页面因被写次数多先被损坏,影响电子设备内存的稳定性和可靠性,提升了页面的磨损均衡性。
可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本实施例可以根据上述方法示例对电子设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块可以采用硬件的形式实现。需要说明的是,本实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图4示出了页面回收装置的示意图,如图4所示,该页面回收装置400应用于电子设备,该页面回收装置400可以包括:负载确定单元401、比例确定单元402和页面回收单元403。
其中,负载确定单元401可以用于支持电子设备执行上述步骤301等,和/或用于本文所描述的技术的其他过程。
比例确定单元402可以用于支持电子设备执行上述步骤302等,和/或用于本文所描述的技术的其他过程。
页面回收单元403可以用于支持电子设备执行上述步骤303等,和/或用于本文所描述的技术的其他过程。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
本实施例提供的电子设备,用于执行上述页面回收方法,因此可以达到与上述实现方法相同的效果。
在采用集成的单元的情况下,电子设备可以包括处理模块、存储模块和通信模块。其中,处理模块可以用于对电子设备的动作进行控制管理,例如,可以用于支持电子设备执行上述负载确定单元401、比例确定单元402和页面回收单元403执行的步骤。存储模块可以用于支持电子设备执行存储程序代码和数据等。通信模块,可以用于支持电子设备与其他设备的通信。
其中,处理模块可以是处理器或控制器。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理(digital signal processing,DSP)和微处理器的组合等等。存储模块可以是存储器。通信模块具体可以为射频电路、蓝牙芯片、Wi-Fi芯片等与其他电子设备交互的设备。
在一个实施例中,当处理模块为处理器,存储模块为存储器时,本实施例所涉及的电子设备可以为具有图1所示结构的设备。
本实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在电子设备上运行时,使得电子设备执行上述相关方法步骤实现上述实施例中的页面回收方法。
本实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的页面回收方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的位置确定方法。
其中,本实施例提供的电子设备、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (9)
1.一种页面回收方法,其特征在于,应用于电子设备,所述方法包括:
确定操作系统当前的输入输出IO负载;
基于所述IO负载确定文件页面和匿名页面的回收比例,包括:若所述IO负载小于设定值,则确定所述回收比例为第一比例,若所述IO负载大于或等于所述设定值,则确定所述回收比例为第二比例,在所述第二比例中所述文件页面的占比小于在所述第一比例中所述文件页面的占比;
基于所述回收比例进行页面回收,其中,按照页面被写次数从小到大的顺序进行页面回收。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:基于所述IO负载确定所述第二比例。
3.根据权利要求2所述的方法,其特征在于,所述基于所述IO负载确定所述第二比例,包括:
基于IO负载与回收比例的映射关系和所述IO负载,确定所述第二比例。
4.根据权利要求2所述的方法,其特征在于,所述基于所述IO负载确定所述第二比例,包括:
基于回收比例计算公式、所述IO负载和所述第一比例确定所述第二比例。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述确定操作系统当前的IO负载,包括:
获取目标时段内所述操作系统当前的IO总量,所述目标时段包括当前系统时刻;
基于IO负载计算公式和所述IO总量确定所述IO负载。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
确定页面回收数量;
所述基于所述回收比例进行页面回收,包括:基于所述页面回收数量和所述回收比例进行页面回收。
7.一种页面回收装置,其特征在于,应用于电子设备,所述装置包括:
负载确定单元,用于确定操作系统当前的输入输出IO负载;
比例确定单元,用于基于所述IO负载确定文件页面和匿名页面的回收比例;
所述比例确定单元,具体用于若所述IO负载小于设定值,则确定所述回收比例为第一比例,若所述IO负载大于或等于所述设定值,则确定所述回收比例为第二比例,在所述第二比例中所述文件页面的占比小于在所述第一比例中所述文件页面的占比;
页面回收单元,用于基于所述回收比例进行页面回收,其中,按照页面被写次数从小到大的顺序进行页面回收。
8.一种电子设备,其特征在于,包括处理器、存储器、通信接口,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行如权利要求1-6任一项所述的方法中的步骤的指令。
9.一种计算机可读存储介质,其特征在于,存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010378239.8A CN111581119B (zh) | 2020-05-07 | 2020-05-07 | 页面回收方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010378239.8A CN111581119B (zh) | 2020-05-07 | 2020-05-07 | 页面回收方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111581119A CN111581119A (zh) | 2020-08-25 |
CN111581119B true CN111581119B (zh) | 2022-11-18 |
Family
ID=72126365
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010378239.8A Active CN111581119B (zh) | 2020-05-07 | 2020-05-07 | 页面回收方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111581119B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118626005A (zh) | 2020-09-10 | 2024-09-10 | 荣耀终端有限公司 | 调整内存配置参数的方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106569745A (zh) * | 2016-10-25 | 2017-04-19 | 暨南大学 | 一种内存过载下面向重复数据删除的内存优化系统 |
CN108089998A (zh) * | 2017-12-13 | 2018-05-29 | 郑州云海信息技术有限公司 | 一种Linux分页替换方法及系统 |
CN108205473A (zh) * | 2017-08-21 | 2018-06-26 | 珠海市魅族科技有限公司 | 内存处理方法及装置、计算机装置及计算机可读存储介质 |
CN108228343A (zh) * | 2017-08-21 | 2018-06-29 | 珠海市魅族科技有限公司 | 内存回收方法及装置、计算机装置及计算机可读存储介质 |
CN109388453A (zh) * | 2018-09-07 | 2019-02-26 | Oppo广东移动通信有限公司 | 应用页面的展示方法、装置、存储介质和电子设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10372606B2 (en) * | 2016-07-29 | 2019-08-06 | Samsung Electronics Co., Ltd. | System and method for integrating overprovisioned memory devices |
US20180109469A1 (en) * | 2016-10-17 | 2018-04-19 | International Business Machines Corporation | Systems and methods for controlling process priority for efficient resource allocation |
CN108205471B (zh) * | 2017-08-01 | 2021-04-27 | 珠海市魅族科技有限公司 | 内存回收方法及装置、计算机装置及计算机可读存储介质 |
CN107704321A (zh) * | 2017-09-30 | 2018-02-16 | 北京元心科技有限公司 | 内存分配的方法、装置及终端设备 |
CN110764906B (zh) * | 2019-09-27 | 2022-06-17 | Oppo(重庆)智能科技有限公司 | 内存回收处理方法、装置、电子设备以及存储介质 |
-
2020
- 2020-05-07 CN CN202010378239.8A patent/CN111581119B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106569745A (zh) * | 2016-10-25 | 2017-04-19 | 暨南大学 | 一种内存过载下面向重复数据删除的内存优化系统 |
CN108205473A (zh) * | 2017-08-21 | 2018-06-26 | 珠海市魅族科技有限公司 | 内存处理方法及装置、计算机装置及计算机可读存储介质 |
CN108228343A (zh) * | 2017-08-21 | 2018-06-29 | 珠海市魅族科技有限公司 | 内存回收方法及装置、计算机装置及计算机可读存储介质 |
CN108089998A (zh) * | 2017-12-13 | 2018-05-29 | 郑州云海信息技术有限公司 | 一种Linux分页替换方法及系统 |
CN109388453A (zh) * | 2018-09-07 | 2019-02-26 | Oppo广东移动通信有限公司 | 应用页面的展示方法、装置、存储介质和电子设备 |
Non-Patent Citations (1)
Title |
---|
CC-NUMA系统中面向页迁移的反向页表技术;杜静等;《计算机工程》;20050605(第06期);76-78+116 * |
Also Published As
Publication number | Publication date |
---|---|
CN111581119A (zh) | 2020-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111553846B (zh) | 超分辨率处理方法及装置 | |
CN111768416B (zh) | 照片裁剪方法及装置 | |
CN111555825B (zh) | 射频资源分配方法及装置 | |
CN111782879B (zh) | 模型训练方法及装置 | |
CN111182614B (zh) | 建立网络连接的方法和装置以及电子设备 | |
CN111882642B (zh) | 三维模型的纹理填充方法及装置 | |
CN110830645B (zh) | 一种操作方法和电子设备及计算机存储介质 | |
CN111835530A (zh) | 群组加入方法及装置 | |
CN111768352A (zh) | 图像处理方法及装置 | |
CN111381996B (zh) | 内存异常处理方法及装置 | |
CN111612723B (zh) | 图像修复方法及装置 | |
CN110673694A (zh) | 一种应用打开方法和电子设备 | |
CN111524528B (zh) | 防录音检测的语音唤醒方法及装置 | |
CN111767016B (zh) | 显示处理方法及装置 | |
CN114422686B (zh) | 参数调整方法及相关装置 | |
CN111880661A (zh) | 手势识别方法及装置 | |
CN111581119B (zh) | 页面回收方法及装置 | |
CN113781959B (zh) | 界面处理方法及装置 | |
CN115390738A (zh) | 卷轴屏开合方法及相关产品 | |
CN112712378A (zh) | 一种服务社区模式的售后服务管理系统 | |
CN112712377A (zh) | 一种产品缺陷整理汇总管理数据库平台系统 | |
CN111459271B (zh) | 注视偏移误差确定方法及装置 | |
WO2024193470A1 (zh) | 一种管理服务的方法以及折叠屏电子设备 | |
CN112819506A (zh) | 一种多产品融合的生态管理方法 | |
CN114596819A (zh) | 亮度调节方法及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |