Skip to content

Commit 407c590

Browse files
committed
Modernize getAvailableMemoryKB for linux
Signed-off-by: Rye <[email protected]>
1 parent 078e760 commit 407c590

File tree

1 file changed

+2
-51
lines changed

1 file changed

+2
-51
lines changed

indra/llcommon/llsys.cpp

Lines changed: 2 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -822,57 +822,8 @@ void LLMemoryInfo::getAvailableMemoryKB(U32Kilobytes& avail_mem_kb)
822822
}
823823

824824
#elif LL_LINUX
825-
// mStatsMap is derived from MEMINFO_FILE:
826-
// $ cat /proc/meminfo
827-
// MemTotal: 4108424 kB
828-
// MemFree: 1244064 kB
829-
// Buffers: 85164 kB
830-
// Cached: 1990264 kB
831-
// SwapCached: 0 kB
832-
// Active: 1176648 kB
833-
// Inactive: 1427532 kB
834-
// Active(anon): 529152 kB
835-
// Inactive(anon): 15924 kB
836-
// Active(file): 647496 kB
837-
// Inactive(file): 1411608 kB
838-
// Unevictable: 16 kB
839-
// Mlocked: 16 kB
840-
// HighTotal: 3266316 kB
841-
// HighFree: 721308 kB
842-
// LowTotal: 842108 kB
843-
// LowFree: 522756 kB
844-
// SwapTotal: 6384632 kB
845-
// SwapFree: 6384632 kB
846-
// Dirty: 28 kB
847-
// Writeback: 0 kB
848-
// AnonPages: 528820 kB
849-
// Mapped: 89472 kB
850-
// Shmem: 16324 kB
851-
// Slab: 159624 kB
852-
// SReclaimable: 145168 kB
853-
// SUnreclaim: 14456 kB
854-
// KernelStack: 2560 kB
855-
// PageTables: 5560 kB
856-
// NFS_Unstable: 0 kB
857-
// Bounce: 0 kB
858-
// WritebackTmp: 0 kB
859-
// CommitLimit: 8438844 kB
860-
// Committed_AS: 1271596 kB
861-
// VmallocTotal: 122880 kB
862-
// VmallocUsed: 65252 kB
863-
// VmallocChunk: 52356 kB
864-
// HardwareCorrupted: 0 kB
865-
// HugePages_Total: 0
866-
// HugePages_Free: 0
867-
// HugePages_Rsvd: 0
868-
// HugePages_Surp: 0
869-
// Hugepagesize: 2048 kB
870-
// DirectMap4k: 434168 kB
871-
// DirectMap2M: 477184 kB
872-
// (could also run 'free', but easier to read a file than run a program)
873-
LLSD statsMap(loadStatsMap());
874-
875-
avail_mem_kb = (U32Kilobytes)statsMap["MemFree"].asInteger();
825+
U64 phys = U64(getpagesize()) * U64(get_avphys_pages());
826+
avail_mem_kb = U64Bytes(phys);
876827
#else
877828
//do not know how to collect available memory info for other systems.
878829
//leave it blank here for now.

0 commit comments

Comments
 (0)