gpt4 book ai didi

linux -/proc/meminfo 是否可以指示一些内存泄漏的提示?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:34:48 26 4
gpt4 key购买 nike

如果系统中存在内存泄漏,定期 cat/proc/meminfo 获取提示是否是个好主意。

如果是这样,鉴于可疑的内存泄漏发生在内核模块中,我应该关注哪个指标:

> cat /proc/meminfo

MemTotal: 16344972 kB
MemFree: 13634064 kB
MemAvailable: 14836172 kB
Buffers: 3656 kB
Cached: 1195708 kB
SwapCached: 0 kB
Active: 891636 kB
Inactive: 1077224 kB
HighTotal: 15597528 kB
HighFree: 13629632 kB
LowTotal: 747444 kB
LowFree: 4432 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 968 kB
Writeback: 0 kB
AnonPages: 861800 kB
Mapped: 280372 kB
Shmem: 644 kB
Slab: 284364 kB
SReclaimable: 159856 kB
SUnreclaim: 124508 kB
PageTables: 24448 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 7669796 kB
Committed_AS: 100056 kB
VmallocTotal: 112216 kB
VmallocUsed: 428 kB
VmallocChunk: 111088 kB
AnonHugePages: 49152 kB

最佳答案

更好的开始方式是免费命令行工具,它使用相同的文件/proc/meminfo: http://man7.org/linux/man-pages/man1/free.1.html

free - Display amount of free and used memory in the system. free displays the total amount of free and used physical and swap memory in the system, as well as the buffers and caches used by the kernel. The information is gathered by parsing /proc/meminfo

free 工具有“已用”和“空闲”内存列,每个列都有两个值,但事实是在 Linux(和 Unix,也可能在 Windows 中)中有 Page cache在 RAM 中缓存来自 HDD 的数据的机制。

实际上,这只是一个缓存,当您的应用程序请求并使用更多内存时,页面缓存将被部分丢弃(如果缓存数据未被修改),或刷新到 HDD(如果数据被修改),操作系统将提供应用程序的内存。

在 Linux 中,页面缓存使用的内存被报告为非空闲,但在“缓冲区”/“缓存”列中,并在“已使用”的第一行中说明

   buffers
Memory used by kernel buffers (Buffers in /proc/meminfo)

cache Memory used by the page cache and slabs (Cached and
SReclaimable in /proc/meminfo)

自由输出示例:

$ free -m
total used free shared buffers cached
Mem: 1504 1491 13 0 91 764
-/+ buffers/cache: 635 869
Swap: 2047 6 2041

“空闲”列的第一行是空闲 RAM,没有被任何东西使用。第二行(第二个值)是空闲 RAM + 缓存 + 缓冲区。

您可以阅读更多内容

关于linux -/proc/meminfo 是否可以指示一些内存泄漏的提示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37912455/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com