Comments (4)
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.
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.
Following up with @johanburati directly, will respond here when we have more data.
from scxcore.
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)
- install scx crash on sles 10x64 &x86 HOT 1
- doc update for ExecuteScript
- omiagent segfault libnss_files on Linux (scx provider) HOT 1
- omiagent using 100% cpu HOT 1
- Ubuntu Performance counters for % Disk Used reporting precision HOT 1
- SCX_UnixProcess returns no results on SunOS with Zones installed HOT 1
- SCX installation fails on Ubuntu 18.04.4 HOT 18
- SCX installation error on Ubuntu 18.04
- OS release version not updating HOT 8
- selinux problems in linux builds HOT 2
- Checksum error for scx-1.6.4-7.universal.x64.rpm HOT 2
- Rocky Linux support HOT 1
- Give me a reason to exclude a particular file system. HOT 1
- missing 1.6.9 release HOT 2
- Post-installation script fails on RHEL 6,7,8,9 when there are readonly variables in /etc/profile HOT 4
- LAD unable to get NFS/CIFS mount point filesystem statistics HOT 1
- This repo is missing important files HOT 1
- Installing 1.7.3 on CentoOS 6 fails: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found HOT 9
- omiagent used 100% cpu with Azure Diagnostic Extension HOT 2
- "omiagent" segfault libnss_dns on Linux (scx provider) HOT 13
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from scxcore.