本申請(qǐng)涉及內(nèi)存管理領(lǐng)域,尤其涉及一種物理內(nèi)存的管理方法、裝置、設(shè)備和介質(zhì)
背景技術(shù):
1、flink是一種開(kāi)源流處理框架,其核心是分布式流數(shù)據(jù)流引擎,用于對(duì)無(wú)界和有界數(shù)據(jù)流進(jìn)行有狀態(tài)計(jì)算;flink作業(yè)的穩(wěn)定運(yùn)行收到內(nèi)存因素的影響。
2、目前的方案中,對(duì)flink作業(yè)的內(nèi)存管理主要是通過(guò)采集flink的總內(nèi)存及其使用率來(lái)實(shí)現(xiàn)的。
3、然而,現(xiàn)有的內(nèi)存管理方案存在對(duì)內(nèi)存使用率的確定不精確,導(dǎo)致flink作業(yè)穩(wěn)定性不足的問(wèn)題。
技術(shù)實(shí)現(xiàn)思路
1、本申請(qǐng)?zhí)峁┮环N物理內(nèi)存的管理方法、裝置、設(shè)備和介質(zhì),用以解決現(xiàn)有的內(nèi)存管理方案存在對(duì)內(nèi)存使用率的確定不精確,導(dǎo)致flink作業(yè)穩(wěn)定性不足的問(wèn)題。
2、第一方面,本申請(qǐng)?zhí)峁┮环N物理內(nèi)存的管理方法,方法包括:
3、獲取flink作業(yè)對(duì)應(yīng)的物理內(nèi)存指標(biāo)和進(jìn)程標(biāo)識(shí)信息;
4、根據(jù)進(jìn)程標(biāo)識(shí)信息,確定flink作業(yè)對(duì)應(yīng)的進(jìn)程數(shù)據(jù);
5、根據(jù)進(jìn)程數(shù)據(jù),確定flink作業(yè)已使用的物理內(nèi)存;
6、根據(jù)物理內(nèi)存指標(biāo)和已使用的物理內(nèi)存,確定flink作業(yè)的物理內(nèi)存使用率;
7、根據(jù)物理內(nèi)存使用率和預(yù)設(shè)閾值,對(duì)flink作業(yè)的物理內(nèi)存進(jìn)行再分配,得到再分配后對(duì)應(yīng)的物理內(nèi)存。
8、在本申請(qǐng)實(shí)施例中,獲取flink作業(yè)對(duì)應(yīng)的物理內(nèi)存指標(biāo)和進(jìn)程標(biāo)識(shí)信息,包括:
9、確定flink作業(yè)對(duì)應(yīng)的程序接口和集群節(jié)點(diǎn);
10、根據(jù)程序接口,采集flink作業(yè)的物理內(nèi)存指標(biāo);
11、根據(jù)集群節(jié)點(diǎn),確定進(jìn)程標(biāo)識(shí)信息。
12、在本申請(qǐng)實(shí)施例中,根據(jù)進(jìn)程數(shù)據(jù),確定flink作業(yè)已使用的物理內(nèi)存,包括:
13、確定進(jìn)程數(shù)據(jù)中匿名內(nèi)存數(shù)據(jù)、文件內(nèi)存數(shù)據(jù)、以及共享內(nèi)存數(shù)據(jù);
14、根據(jù)匿名內(nèi)存數(shù)據(jù)、文件內(nèi)存數(shù)據(jù)、以及共享內(nèi)存數(shù)據(jù)的和值,確定已使用的物理內(nèi)存。
15、在本申請(qǐng)實(shí)施例中,根據(jù)物理內(nèi)存指標(biāo)和已使用的物理內(nèi)存,確定flink作業(yè)的物理內(nèi)存使用率,包括:
16、根據(jù)物理內(nèi)存指標(biāo),確定flink作業(yè)對(duì)應(yīng)的任務(wù)管理器的數(shù)量和目標(biāo)物理內(nèi)存;
17、根據(jù)任務(wù)管理器的數(shù)量和目標(biāo)物理內(nèi)存,確定flink作業(yè)的目標(biāo)物理內(nèi)存;
18、根據(jù)已使用的物理內(nèi)存和目標(biāo)物理內(nèi)存,確定物理內(nèi)存使用率。
19、在本申請(qǐng)實(shí)施例中,根據(jù)物理內(nèi)存使用率和預(yù)設(shè)閾值,對(duì)flink作業(yè)的物理內(nèi)存進(jìn)行再分配,得到再分配后對(duì)應(yīng)的物理內(nèi)存,包括:
20、若物理內(nèi)存使用率大于預(yù)設(shè)閾值,則根據(jù)flink作業(yè)的目標(biāo)物理內(nèi)存、以及已使用的物理內(nèi)存,確定flink作業(yè)的空白物理內(nèi)存;
21、確定已使用的物理內(nèi)存對(duì)應(yīng)的預(yù)設(shè)分配比例值;
22、根據(jù)預(yù)設(shè)分配比例值和空白物理內(nèi)存,確定對(duì)應(yīng)的待更新物理內(nèi)存;
23、根據(jù)待更新物理內(nèi)存,對(duì)flink作業(yè)的物理內(nèi)存進(jìn)行再分配。
24、在本申請(qǐng)實(shí)施例中,確定已使用的物理內(nèi)存對(duì)應(yīng)的預(yù)設(shè)分配比例值,包括:
25、確定已使用的物理內(nèi)存對(duì)應(yīng)的預(yù)設(shè)內(nèi)存范圍;
26、根據(jù)預(yù)設(shè)內(nèi)存范圍,確定對(duì)應(yīng)的預(yù)設(shè)分配比例值。
27、在本申請(qǐng)實(shí)施例中,方法還包括:
28、根據(jù)flink作業(yè)的待更新物理內(nèi)存和已使用的物理內(nèi)存,生成對(duì)應(yīng)的物理內(nèi)存提示信息;
29、輸出物理內(nèi)存提示信息。
30、第二方面,本申請(qǐng)?zhí)峁┮环N物理內(nèi)存的管理裝置,裝置包括:
31、信息獲取模塊,用于獲取flink作業(yè)對(duì)應(yīng)的物理內(nèi)存指標(biāo)和進(jìn)程標(biāo)識(shí)信息;
32、數(shù)據(jù)確定模塊,用于根據(jù)進(jìn)程標(biāo)識(shí)信息,確定flink作業(yè)對(duì)應(yīng)的進(jìn)程數(shù)據(jù);
33、內(nèi)存確定模塊,用于根據(jù)進(jìn)程數(shù)據(jù),確定flink作業(yè)已使用的物理內(nèi)存;
34、使用率確定模塊,用于根據(jù)物理內(nèi)存指標(biāo)和已使用的物理內(nèi)存,確定flink作業(yè)的物理內(nèi)存使用率;
35、再分配模塊,用于根據(jù)物理內(nèi)存使用率和預(yù)設(shè)閾值,對(duì)flink作業(yè)的物理內(nèi)存進(jìn)行再分配,得到再分配后對(duì)應(yīng)的物理內(nèi)存。
36、第三方面,本申請(qǐng)?zhí)峁┮环N計(jì)算機(jī)設(shè)備,包括:處理器,以及與處理器通信連接的存儲(chǔ)器;
37、存儲(chǔ)器存儲(chǔ)計(jì)算機(jī)執(zhí)行指令;
38、處理器執(zhí)行存儲(chǔ)器存儲(chǔ)的計(jì)算機(jī)執(zhí)行指令,以實(shí)現(xiàn)本申請(qǐng)的方法。
39、第四方面,本申請(qǐng)?zhí)峁┮环N計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中存儲(chǔ)有程序代碼,程序代碼被處理器執(zhí)行時(shí)用于實(shí)現(xiàn)本申請(qǐng)的方法。
40、本申請(qǐng)?zhí)峁┑奈锢韮?nèi)存的管理方法、裝置、設(shè)備和介質(zhì),通過(guò)獲取flink作業(yè)對(duì)應(yīng)的物理內(nèi)存指標(biāo)和進(jìn)程標(biāo)識(shí)信息;根據(jù)進(jìn)程標(biāo)識(shí)信息,確定flink作業(yè)對(duì)應(yīng)的進(jìn)程數(shù)據(jù);根據(jù)進(jìn)程數(shù)據(jù),確定flink作業(yè)已使用的物理內(nèi)存;根據(jù)物理內(nèi)存指標(biāo)和已使用的物理內(nèi)存,確定flink作業(yè)的物理內(nèi)存使用率;根據(jù)物理內(nèi)存使用率和預(yù)設(shè)閾值,對(duì)flink作業(yè)的物理內(nèi)存進(jìn)行再分配,得到再分配后對(duì)應(yīng)的物理內(nèi)存。
41、如此,可以通過(guò)對(duì)flink作業(yè)已使用的物理內(nèi)存進(jìn)行確定,從而實(shí)現(xiàn)了flink作業(yè)的物理內(nèi)存使用率的確定,以便根據(jù)物理內(nèi)存使用率對(duì)flink作業(yè)的物理內(nèi)存資源進(jìn)行內(nèi)存再分配,實(shí)現(xiàn)了為每一個(gè)flink作業(yè)分配合適的物理內(nèi)存資源,從而實(shí)現(xiàn)作業(yè)穩(wěn)定性的提升,更好地提升效率和性能。
1.一種物理內(nèi)存的管理方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取flink作業(yè)對(duì)應(yīng)的物理內(nèi)存指標(biāo)和進(jìn)程標(biāo)識(shí)信息,包括:
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述根據(jù)所述進(jìn)程數(shù)據(jù),確定所述flink作業(yè)已使用的物理內(nèi)存,包括:
4.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述根據(jù)所述物理內(nèi)存指標(biāo)和所述已使用的物理內(nèi)存,確定所述flink作業(yè)的物理內(nèi)存使用率,包括:
5.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述根據(jù)所述物理內(nèi)存使用率和預(yù)設(shè)閾值,對(duì)所述flink作業(yè)的物理內(nèi)存進(jìn)行再分配,得到所述再分配后對(duì)應(yīng)的物理內(nèi)存,包括:
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述確定所述已使用的物理內(nèi)存對(duì)應(yīng)的預(yù)設(shè)分配比例值,包括:
7.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述方法還包括:
8.一種物理內(nèi)存的管理裝置,其特征在于,所述裝置包括:
9.一種設(shè)備,其特征在于,包括:
10.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中存儲(chǔ)有程序代碼,程序代碼可被處理器調(diào)用執(zhí)行如權(quán)利要求1至7任一項(xiàng)的方法。