The invention discloses a method and a device for memory allocation, wherein the method comprises the following steps: obtaining advance each system storage system based on software architecture for the number of members of the first memory set, wherein each of the members of the system software architecture of the same collection; each of the members of the system hardware information, and the hardware information based on the calculated amount of memory for each of the second members of the system; second the amount of memory added quantity the first memory of each of the members of the system and the members of the system, obtained were allocated to each of the total amount of memory system. The invention discloses a method for allocating memory makes the storage system for the total number of each member of the basic system memory allocation is equal to the total amount of memory of their real needs, solve the technical problems of each storage system for members of the system of reasonable amount of memory allocation.
【技术实现步骤摘要】
一种内存分配方法和装置
本专利技术涉及内存分配领域,特别涉及一种内存分配方法和装置。
技术介绍
在存储系统启动过程中,各个系统成员需要初始化,在这个过程中,存储系统会为系统成员分配内存,以便于后期系统对其进行访问操作。如果有多种存储硬件平台,那么存储系统需要为每个硬件平台分配内存,而每个硬件平台所需要的内存可能各不相同,例如不同的存储硬件平台能够插入不同的HBA卡数量,从而导致在HBA卡初始化过程中所需要的内存会因硬件平台的不同而不同。而在存储系统初始化过程之前,需要为每一个系统成员预留一定的内存用于此成员初始化过程,一旦预留成功,那么这个成员的初始化所需内存必须在预留内存范围内,这样可以保证避免某一个成员无限制的预留内存的情况。现有技术中的内存分配方法是,在一套软件架构中,预留一个公共的memreq(memoryrequire)配置值用于配置所有系统成员在初始化的时候需要的内存数量。由于所有的硬件平台都会分享这一公共的memreq的值,那么这个memreq的值必须以系统成员所需要的最大内存的数量作为memreq的值。比如存储系统有三个硬件平台共享这个memreq的值,第一个硬件平台需要memreq的值为10,第二个硬件平台需要的memreq的值为20,第三个硬件平台需要的memreq的值为30,那么这个存储系统的公共的memreq的值需要取三个平台中的最大值30。然而,在用上述方法为系统成员初始化分配内存时,会出现为所需memreq值较小的硬件平台预留了较多内存的情况,相应的,会有较少的内存用于系统cache,这导致系统存储性能差。综上所述,存储系统如何 ...
【技术保护点】
一种内存分配方法,其特征在于,包括:获取预先基于存储系统中每个系统成员的软件架构为其设置的第一内存数量,其中每个所述系统成员的软件架构相同;采集每个所述系统成员的硬件信息,并基于所述硬件信息计算出每个所述系统成员的第二内存数量;将每个所述系统成员的第一内存数量和该系统成员的第二内存数量相加,得到需要分别分配给每个所述系统成员的内存总数量。
【技术特征摘要】
1.一种内存分配方法,其特征在于,包括:获取预先基于存储系统中每个系统成员的软件架构为其设置的第一内存数量,其中每个所述系统成员的软件架构相同;采集每个所述系统成员的硬件信息,并基于所述硬件信息计算出每个所述系统成员的第二内存数量;将每个所述系统成员的第一内存数量和该系统成员的第二内存数量相加,得到需要分别分配给每个所述系统成员的内存总数量。2.根据权利要求1所述的方法,其特征在于,所述采集每个所述系统成员的硬件信息,包括:采集每个所述系统成员自身的硬件信息和外接设备的硬件信息。3.根据权利要求2所述的方法,其特征在于,所述基于所述硬件信息计算出每个所述系统成员的第二内存数量,包括:基于每个所述系统成员自身RAM的大小计算自身硬件信息对应的第一内存值;基于每个所述系统成员外接设备的类型和数量计算外接设备硬件信息对应的第二内存值;将每个所述系统成员的第一内存值和该系统成员的第二内存值相加,得到每个所述系统成员的第二内存数量。4.根据权利要求1至3任一项所述的方法,其特征在于,所述得到需要分别分配给每个所述系统成员的内存总数量之后还包括:判断每个所述系统成员的所述内存总数量是否大于预先设定的最大内存数量,若大于则报错。5.根据权利要求1至3任一项所述的方法,其特征在于,所述得到需要分别分配给每个所述系统成员的内存总数量之后还包括:存储每个所述系统成员的所述内...
【专利技术属性】
技术研发人员:刘斌,
申请(专利权)人:郑州云海信息技术有限公司,
类型:发明
国别省市:河南,41
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。