如何确定linux中的可用物理内存

eli*_*eli 10 linux memory

我想弄清楚我的软件是否在运行linux suffers from memory leak.我已经尝试测量可用的物理内存/proc/meminfo(见下文),但可以理解哪个字段代表可用内存以及它们之间的关系MemFree, Cached, Buffers, Active, Inactive.

cat /proc/meminfo
MemTotal:       124128 kB
MemFree:         62872 kB
Buffers:             0 kB
Cached:          15624 kB
SwapCached:          0 kB
Active:          38724 kB
Inactive:        11148 kB
SwapTotal:           0 kB
SwapFree:            0 kB
Dirty:               0 kB
Writeback:           0 kB
AnonPages:       34272 kB
Mapped:          14640 kB
Slab:             5564 kB
SReclaimable:      424 kB
SUnreclaim:       5140 kB
PageTables:        504 kB
NFS_Unstable:        0 kB
Bounce:              0 kB
WritebackTmp:        0 kB
CommitLimit:     62064 kB
Committed_AS:    57936 kB
VmallocTotal:   655360 kB
VmallocUsed:      1016 kB
VmallocChunk:   654328 kB 
Run Code Online (Sandbox Code Playgroud)

ngd*_*duc 22

这是检查内存使用情况的简单命令:

free
Run Code Online (Sandbox Code Playgroud)

  • `free -m`以MB显示 (4认同)

Eri*_*rik 3

如果您正在寻找内存泄漏,请使用Valgrind

要快速检查应用程序的内存使用情况,请使用getrusage()(需要最新的 Linux 内核)并查看该ru_maxrss值。/proc/meminfo提供有关整个系统的信息。