Beispiel #1
0
APR_DECLARE(size_t) port_vmem_max_size(){
    PERFORMANCE_INFORMATION pi;
    if ( GetPerformanceInfo( &pi, sizeof(pi)) ) {
        return (pi.CommitLimit - pi.CommitTotal) * pi.PageSize + port_vmem_committed_size();
    } else {
        return (size_t)0;
    }
}
Beispiel #2
0
/*
 * Class:     org_apache_harmony_lang_management_MemoryMXBeanImpl
 * Method:    getNonHeapMemoryUsageImpl
 * Signature: ()Ljava/lang/management/MemoryUsage;
 */
JNIEXPORT jobject JNICALL Java_org_apache_harmony_lang_management_MemoryMXBeanImpl_getNonHeapMemoryUsageImpl
(JNIEnv * jenv_ext, jobject)
{
    TRACE2("management","MemoryMXBeanImpl_getNonHeapMemoryUsageImpl invocation");
    Global_Env* genv = VM_Global_State::loader_env;

    JNIEnv_Internal *jenv = (JNIEnv_Internal *)jenv_ext;

    JavaVM * vm = NULL;
    jenv_ext->GetJavaVM(&vm);

    jlong init = ((JavaVM_Internal*)vm)->vm_env->init_used_memory
        - ((JavaVM_Internal*)vm)->vm_env->init_gc_used_memory;
    if (init <= 0) {init = -1;}

    jlong used = port_vmem_used_size();
    if (used < init) {used = init;}
    if (used == -1) {used = 0;}

    jlong committed = port_vmem_committed_size();
    if (committed < used) {committed = used;}
    if (committed == -1) {committed = 0;}

    jlong max = port_vmem_max_size();
    if ((max < committed) && (max != -1)) {max = committed;}

    jclass memoryUsageClazz =jenv->FindClass("java/lang/management/MemoryUsage");
    if (jenv->ExceptionCheck()) {return NULL;}
    jmethodID memoryUsageClazzConstructor = jenv->GetMethodID(memoryUsageClazz, "<init>", "(JJJJ)V");
    if (jenv->ExceptionCheck()) {return NULL;}

    jobject memoryUsage = jenv->NewObject(memoryUsageClazz, memoryUsageClazzConstructor, init, used,
        committed, max);

    return memoryUsage;
};
Beispiel #3
0
APR_DECLARE(size_t) port_vmem_reserved_size(){
    // TODO: Update this method when/if new common memory manager will be created
    return port_vmem_committed_size();
}
Beispiel #4
0
APR_DECLARE(size_t) port_vmem_reserved_size(){
    // TODO: should return summarized reservaition instead of peak.
    return port_vmem_committed_size();
}
Beispiel #5
0
APR_DECLARE(size_t) port_vmem_used_size(){
    return port_vmem_committed_size();
}