RT - OSGi与JavaES:实时与嵌入式系统的Java解决方案
1. RT - OSGi的内存管理与参数计算
在实时操作系统领域,RT - OSGi是一个重要的框架。它在内存管理方面有着独特的处理方式。
首先,在计算GC(垃圾回收)相关参数时,由于Sun Java RTS的GC行为被修改为基于时间的GC,需要计算的参数主要有计算时间、周期和截止时间。GC预算(CGC)的计算是从一个较低的基础值开始,然后迭代增加,直到GC利用率(成本除以周期)大到对应用线程产生过多干扰,导致系统变得不可调度。可以使用图12.8中的公式来确定CGC,其中优先级1是最高的。
GC周期/截止时间(TGC)被设定为与周期最小的应用线程相等,这样根据速率单调(RMA)优先级分配,GC线程将被赋予最高优先级。因为Sun Java RTS GC的适应行为是提供基于时间的GC,通常需要GC以最高优先级运行。
在动态环境如RT - OSGi中,要同时找到GC的最小周期和最大成本(即最大CPU利用率)是非常耗时的。通过迭代增加GC成本并保持GC周期不变,可以相对快速地计算出在保持应用可调度的情况下,能够分配给GC线程的最大CPU利用率的近似值。同时,计算出的GC参数需要检查是否高于有效阈值,这些参数作为内存准入控制的接受测试。
GC周期时间是GC完成所有工作所需的时间。在一个GC周期(TGC)内,GC线程只能执行等于CGC的工作量,因此完成一个GC周期需要多个GC周期,其响应时间(RGC)可以使用图12.9中的公式确定。
确定应用程序的空闲内存需求也很重要。需要估计应用线程在一个GC周期内分配的内存量,如果系统中的空闲内存小于应用在GC周期内的内存需求
超级会员免费看
订阅专栏 解锁全文
62

被折叠的 条评论
为什么被折叠?



