1.一种云计算主机间物理内存借用的方法,其特征在于:服务主机内核模块响应客户主机的借用请求,并注册一个内存池对象,维护一个内存池信息表MemPoolTable;客户主机内核模块创建一个虚拟内存对象,维护一个记录了借用远端内存在虚拟内存对象中映射情况的列表MemMapTable,以及一个服务主机列表ServerList;当客户主机本地内存不足,需要扩展系统内存,自动开启远程内存扩展机制;客户主机从ServerList中选择一个服务主机发送服务请求;如满足借用条件,服务主机从本地分配相应的物理内存资源返回至客户主机,并与客户主机建立必要的数据通信连接与内存映射;客户主机进程申请内存分配,将借来的内存资源映射到虚拟内存对象中,并调整虚拟内存对象容量CVMT和虚拟内存对象空闲量CVMF的值,完成远端内存的借用和映射。
2.根据权利要求1所述的方法,其特征在于,所述借用条件为:客户主机内核模块检测系统当前状态,当满足条件: 认为当前客户主机内存使用率过高,需要扩展系统内存;其中CPMT为客户主机本地物理内存容量,CPMF为本地物理内存空闲量,CVMT为虚拟内存对象容量,CVMF为虚拟内存对象空闲量,PL为系统空闲内存百分比下限值。
3.根据权利要求1所述的方法,其特征在于,所述开启远程内存扩展机制具体为,服务主机从本地内存池信息表MemPoolTable中选择一块大小为MemSize的物理内存,将这块物理内存的基本信息返回至客户主机,客户主机将借来的内存资源映射到虚拟内存对象中,将基本信息记录在映射情况列表MemMapTable中,与服务主机建立必要的数据通信连接与内存映射,并将本机虚拟内存对象容量CVMT和虚拟内存对象空闲量CVMF的值分别增加MemSize,完成远端内存的借用和映射,其中,CPMT为客户主机本地物理内存容量,CPMF为本地物理内存空闲量,PL为系统空闲内存百分比下限值。
4.根据权利要求1所述的方法,其特征在于,客户主机进程模块申请内存分配时,如果本地物理内存对象有空闲内存时,直接从本地物理内存分配内存资源给进程,如果本地物理内存不足,客户主机操作系统从虚拟内存对象中分配内存资源给进程,并映射到进程的地址空间中。
5.根据权利要求1所述的方法,其特征在于,当客户主机内核模块连续三次检测到操作系统当前状态满足条件: 且 时,选择虚拟内存对象中最后一
块远端内存作为需要归还的内存块,删除该内存块在虚拟内存对象当中的映射,向该内存块所对应的服务主机发送归还通知,从MemMapTable删除对应的表项,并将本机虚拟内存对象容量CVMT和虚拟内存对象空闲量CVMF的值分别减去该块的大小,其中,PH为客户主机系统空闲内存百分比上限值,PHV为虚拟内存对象空闲内存百分比,CPMT为客户主机本地物理内存容量,CPMF为本地物理内存空闲量。
6.一种主机间物理内存借用的装置,其特征在于,包括:客户主机和服务主机,客户主机内核模块用于客户主机操作系统在本地内存不足时向服务主机申请借用内存、建立网络通信连接、维护远端内存在本地虚拟内存对象上的映射,当前空闲内存率过高时,将映射到虚拟内存对象中的远端内存归还给相应的服务主机,向用户层提供信息查询、配置修改的接口,客户主机监控进程通过客户主机内核模块提供的接口周期性查询当前远端内存映射到本地的状况;服务主机实现本地内存的借出、回收服务,服务主机内核模块用于响应、验证客户主机的内存借用申请、分配本地内存映射到客户主机虚拟内存对象、客户主机归还内存后将内存归还给内存池,同时向上提供用户的信息查询、配置修改的接口,服务主机监控进程通过服务主机内核模块提供的接口周期性查询本地内存映射到远端的状况,通过监控进程设置相应运行参数;客户主机和服务主机通过网络实现通信连接。
7.根据权利要求6所述的装置,其特征在于,服务主机内存池呈线性结构,内存池按照MemBlk的大小划分为多个内存块,内存块呈线性排列,内存池的大小SMemPool的初始值根据公式:SMsmPool=|(SPMF×SPer)÷MemBlk|×MemBlk确定,其中,SPMF表示服务主机本地物理内存空闲量,SPer表示内存池比例,MemBlk为需要对齐到内存的分配粒度。
8.根据权利要求6所述的装置,其特征在于,服务主机中进一步包括服务主机内存池表,服务主机内存池表MemPoolTable记录了内存池中内存块信息,MemPoolTable所含字段包括内存块在内存池中的编号SMBIndex、当前状态SMBState、该内存块映射到的客户主机的编号CliNum和网络地址CliAddr。
9.根据权利要求6所述的装置,其特征在于,客户主机内核模块检测系统当前状态,当满足条件: 时,认为当前客户主机内存使用率过高,本地内存不足,其中,CPMT为客户主机本地物理内存容量,CPMF为本地物理内存空闲量,CVMT为虚拟内存对象容量,CVMF为虚拟内存对象空闲量,PL为系统空闲内存百分比下限值。
10.根据权利要求6所述的装置,其特征在于,客户主机进程模块申请内存分配时,如果本地物理内存对象有空闲内存时,直接从本地物理内存分配内存资源给进程,如果本地物理内存不足,客户主机操作系统从虚拟内存对象中分配内存资源给进程,并映射到进程的地址空间中。
11.根据权利要求6所述的装置,其特征在于,当客户主机内核模块连续三次检测到操作系统当前状态满足条件: 且 时,选择虚拟内存对象中最后
一块远端内存作为需要归还的内存块,删除该内存块在虚拟内存对象当中的映射,向该内存块所对应的服务主机发送归还通知,从MemMapTable删除对应的表项,并将本机虚拟内存对象容量CVMT和虚拟内存对象空闲量CVMF的值分别减去该块的大小,其中,PH为客户主机系统空闲内存百分比上限值,PHV为虚拟内存对象空闲内存百分比,CPMT为客户主机本地物理内存容量,CPMF为本地物理内存空闲量。