VirtualBox

Changeset 23150 in vbox


Ignore:
Timestamp:
Sep 18, 2009 10:36:15 PM (15 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
52564
Message:

Main: Fix getHostMemoryUsage for FreeBSD. Contributed by Bernhard Froehlich

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/freebsd/PerformanceFreeBSD.cpp

    r19067 r23150  
    6666    u_long cbMemPhys = 0;
    6767    u_int cPagesMemFree = 0;
     68    u_int cPagesMemInactive = 0;
     69    u_int cPagesMemCached = 0;
    6870    u_int cPagesMemUsed = 0;
    6971    int cbPage = 0;
     
    8082    if (!sysctlbyname("vm.stats.vm.v_active_count", &cPagesMemUsed, &cbParameter, NULL, 0))
    8183        cProcessed++;
     84    cbParameter = sizeof(cPagesMemInactive);
     85    if (!sysctlbyname("vm.stats.vm.v_inactive_count", &cPagesMemInactive, &cbParameter, NULL, 0))
     86        cProcessed++;
     87    cbParameter = sizeof(cPagesMemCached);
     88    if (!sysctlbyname("vm.stats.vm.v_cache_count", &cPagesMemCached, &cbParameter, NULL, 0))
     89        cProcessed++;
    8290    cbParameter = sizeof(cbPage);
    8391    if (!sysctlbyname("hw.pagesize", &cbPage, &cbParameter, NULL, 0))
    8492        cProcessed++;
    8593
    86     if (cProcessed == 4)
     94    if (cProcessed == 6)
    8795    {
    8896        *total     = cbMemPhys / _1K;
    8997        *used      = cPagesMemUsed * (cbPage / _1K);
    90         *available = cPagesMemFree * (cbPage / _1K);
     98        *available = (cPagesMemFree + cPagesMemInactive + cPagesMemCached ) * (cbPage / _1K);
    9199    }
    92100    else
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette