shrinker: shrinker API允许app或者OS组件注册回调函数, 这些函数OSv在当系统内存过低的时候调用。这些回调函数会释放一些组件或者app的内存。
在大多数的OS, app, 包含动态cache的组件, 比如Memcached 或者 VFS 页缓存 ,这些必须静态限制他的尺寸,为了预先定义一些数量的内存或者一定数量cache大小。
这是重要的,但有时候却是矛盾的, 不消耗更多的内存在一个可变的OS中,在利用可变的内存时候又不去回收部分系统的内存。根据程序动态申请和回收内存这个变得很有挑战性。
shrinker API提供一个合适的解决方案运行app或者组件去处理压缩页是同时进行的,
我们已经证明shrinker API是非常有用的在两个case中(Memcached, JVM 请求最大内存堆尺寸), 如果手动设置这个值就浪费内存,于此相反动态调整cache或者heap的尺寸就可以了。
在section 4重新实现了Memcached使用shrinker API。
JVM balloon : The JVM balloon的实现机制就是我们开发的JVM堆栈大小自动调整变得可行。 Balloon已经用的很广在hypervisor中, JVM balloon的核心机制也是类似。
在大多数的OS, app, 包含动态cache的组件, 比如Memcached 或者 VFS 页缓存 ,这些必须静态限制他的尺寸,为了预先定义一些数量的内存或者一定数量cache大小。
这是重要的,但有时候却是矛盾的, 不消耗更多的内存在一个可变的OS中,在利用可变的内存时候又不去回收部分系统的内存。根据程序动态申请和回收内存这个变得很有挑战性。
shrinker API提供一个合适的解决方案运行app或者组件去处理压缩页是同时进行的,
我们已经证明shrinker API是非常有用的在两个case中(Memcached, JVM 请求最大内存堆尺寸), 如果手动设置这个值就浪费内存,于此相反动态调整cache或者heap的尺寸就可以了。
在section 4重新实现了Memcached使用shrinker API。
JVM balloon : The JVM balloon的实现机制就是我们开发的JVM堆栈大小自动调整变得可行。 Balloon已经用的很广在hypervisor中, JVM balloon的核心机制也是类似。
提供一个有效的动态内存的地方。 OSv JVM的设计与实现基于不改变JVM的基础上。
剩下JVM balloon没翻译,主要对JVM不太懂。
翻译到此结束,就当自己笔记吧。