1.一種提高內(nèi)存復(fù)用的方法,其特征在于,包括:
啟動操作系統(tǒng)之后,利用內(nèi)存管理模塊從RAM中分配預(yù)設(shè)大小的內(nèi)存;
將所述內(nèi)存進行初始化后放入內(nèi)存池中;
當前端收到IO時,從所述內(nèi)存池中申請內(nèi)存;
對所述內(nèi)存進行標記和引用處理,并利用所述內(nèi)存進行IO;
當IO結(jié)束后,將申請的內(nèi)存釋放回所述內(nèi)存池。
2.根據(jù)權(quán)利要求1所述的提高內(nèi)存復(fù)用的方法,其特征在于,
所述利用內(nèi)存管理模塊從RAM中分配預(yù)設(shè)大小的內(nèi)存為:
利用內(nèi)存管理模塊從RAM中分配不超過系統(tǒng)內(nèi)存總量90%的內(nèi)存。
3.根據(jù)權(quán)利要求2所述的提高內(nèi)存復(fù)用的方法,其特征在于,
所述從所述內(nèi)存池中申請內(nèi)存之后,還包括:
當內(nèi)存的使用量超過預(yù)設(shè)閾值時發(fā)出告警。
4.根據(jù)權(quán)利要求1-3任一項所述的提高內(nèi)存復(fù)用的方法,其特征在于,
所述利用所述內(nèi)存進行IO包括:
對申請內(nèi)存進行加鎖,在Directory中尋找寫IO位置上的IOB Y,其中,所述IOB Y為申請的內(nèi)存單元;
將所述IOB Y中的數(shù)據(jù)添加到IOB X中,其中IOB X為新下發(fā)的數(shù)據(jù);
將所述IOB X中的數(shù)據(jù)發(fā)向?qū)Χ耍鎯Φ侥繕宋恢谩?/p>
5.根據(jù)權(quán)利要求4所述的提高內(nèi)存復(fù)用的方法,其特征在于,
所述將所述IOB X中的數(shù)據(jù)發(fā)向?qū)Χ?,存儲到目標位置包括?/p>
調(diào)用Lv.getData(X),獲得所述IOB X中的數(shù)據(jù),并保存在IOB A中;
在Directory中尋找寫IO位置上的IOB,記為IOB Z;
將所述IOB A中的數(shù)據(jù)添加到所述IOB Z中,完成緩存操作。
6.一種提高內(nèi)存復(fù)用的裝置,其特征在于,包括:
內(nèi)存分配單元,用于啟動操作系統(tǒng)之后,利用內(nèi)存管理模塊從RAM中分配預(yù)設(shè)大小的內(nèi)存;
放入單元,用于將所述內(nèi)存進行初始化后放入內(nèi)存池中;
內(nèi)存申請單元,用于當前端收到IO時,從所述內(nèi)存池中申請內(nèi)存;
標記和引用單元,用于對所述內(nèi)存進行標記和引用處理,并利用所述內(nèi)存進行IO;
內(nèi)存釋放單元,用于當IO結(jié)束后,將申請的內(nèi)存釋放回所述內(nèi)存池。
7.根據(jù)權(quán)利要求6所述的提高內(nèi)存復(fù)用的裝置,其特征在于,
所述內(nèi)存分配單元具體用于利用內(nèi)存管理模塊從RAM中分配不超過系統(tǒng)內(nèi)存總量90%的內(nèi)存。
8.根據(jù)權(quán)利要求7所述的提高內(nèi)存復(fù)用的裝置,其特征在于,
還包括:
告警單元,用于當內(nèi)存的使用量超過預(yù)設(shè)閾值時發(fā)出告警。
9.根據(jù)權(quán)利要求6-8任一項所述的提高內(nèi)存復(fù)用的裝置,其特征在于,
所述標記和引用單元包括:
第一尋找部件,用于對申請內(nèi)存進行加鎖,在Directory中尋找寫IO位置上的IOB Y,其中,所述IOB Y為申請的內(nèi)存單元;
添加部件,用于將所述IOB Y中的數(shù)據(jù)添加到IOB X中,其中IOB X為新下發(fā)的數(shù)據(jù);
存儲部件,用于將所述IOB X中的數(shù)據(jù)發(fā)向?qū)Χ?,存儲到目標位置?/p>
10.根據(jù)權(quán)利要求9所述的提高內(nèi)存復(fù)用的裝置,其特征在于,
所述存儲部件具體用于調(diào)用Lv.getData(X),獲得所述IOB X中的數(shù)據(jù),并保存在IOB A中;在Directory中尋找寫IO位置上的IOB,記為IOB Z;將所述IOB A中的數(shù)據(jù)添加到所述IOB Z中,完成緩存操作。