Giter Club home page Giter Club logo

Comments (4)

jeffaco avatar jeffaco commented on May 18, 2024

This sort of issue comes up regularly.

The problem is that there are a lot of ways to "compute" available memory, depending on how you look at the numbers. Indeed, different programs on the same operating system will often report conflicting numbers for memory usage (i.e. ps vs. free).

On Linux, we look at the /proc/meminfo file, see implementation if interested. But roughly speaking, we consider free memory to be what's reported as "free" from the O/S + disk buffers + page cache. We consider this as "free" since the O/S will routinely go to these areas first for memory as it's "cheap", and doesn't result in further swapping (at least directly).

This comes up often enough, vendors post their own analysis, like Redhat, due to frequent customer questions.

In short, we believe we compute memory in a "reasonable" way (i.e. a way that makes sense when explained, and is logical when considering how the O/S deals with memory usage). If you have a specific case where you think our analysis is incorrect, please let us know.

from scxcore.

johanburati avatar johanburati commented on May 18, 2024

hi @jeffaco

I understand there are different ways to "compute" available memory, however the graph in the portal show 14% available memory while the free command shows like 80% available memory, there is quite a gap.

free

total=3440
used=309
free=180
share=39
buff/cache=2949
available=2782

SCX_MemoryStatisticalInformation

AvailableMemory=498
PercentAvailableMemory=14
UsedMemory=2942
PercentUsedMemory=86

consider free memory to be what's reported as "free" from the O/S + disk buffers + page cache

I do not quite understand how SCX_MemoryStatisticalInformation is reporting the AvailableMemory has being only 498, if you look at the free command output the buff/cache is already 2949, am I missing something, could you explain how the above values match ?

from scxcore.

jeffaco avatar jeffaco commented on May 18, 2024

Following up with @johanburati directly, will respond here when we have more data.

from scxcore.

nirsingh avatar nirsingh commented on May 18, 2024

With the linux kernel 3.14+ MemAvailable: is available in /proc/meminfo provides a better way of getting the Available Memory instead of calculating it as MemFree: + Cached: + Buffers:

Check-in : microsoft/pal@24da02b

from scxcore.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.