Linux /proc/meminfo inactive(文件)保持高位,并且可以';无法通过drop_缓存回收
各位好, 我们在产品中使用windriver Linux 6.0(基于yocto 3.10.55)。 我们面临一个奇怪的问题:在/proc/meminfo中的非活动(文件)仍然很高。即使我们使用“echo 3>/drop/sys/vm/drop_caches”,也无法回收统计数据Linux /proc/meminfo inactive(文件)保持高位,并且可以';无法通过drop_缓存回收,linux,memory,kernel,Linux,Memory,Kernel,各位好, 我们在产品中使用windriver Linux 6.0(基于yocto 3.10.55)。 我们面临一个奇怪的问题:在/proc/meminfo中的非活动(文件)仍然很高。即使我们使用“echo 3>/drop/sys/vm/drop_caches”,也无法回收统计数据 sh-4.2# echo 3 > /proc/sys/vm/drop_caches sh-4.2# free total used free shared buffe
sh-4.2# echo 3 > /proc/sys/vm/drop_caches
sh-4.2# free
total used free shared buffers cached
Mem: 8000008 7777308 222700 0 196 871328
-/+ buffers/cache: 6905784 1094224
Swap: 0 0 0
sh-4.2# cat /proc/meminfo
MemTotal: 8000008 kB
MemFree: 220988 kB
Buffers: 288 kB
Cached: 872912 kB
SwapCached: 0 kB
Active: 2145984 kB
Inactive: 4779720 kB
Active(anon): 2126188 kB
Inactive(anon): 804404 kB
Active(file): 19796 kB
Inactive(file): 3975316 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 0 kB
Writeback: 0 kB
AnonPages: 2077148 kB
Mapped: 242972 kB
Shmem: 853588 kB
Slab: 145620 kB
SReclaimable: 121040 kB
SUnreclaim: 24580 kB
KernelStack: 10704 kB
PageTables: 10624 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 4000004 kB
Committed_AS: 4084848 kB
VmallocTotal: 4294967296 kB
VmallocUsed: 27604 kB
VmallocChunk: 4294931084 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 4096 kB
可以通过malloc()调用或将文件复制到ramdisk(/run或/var/volatile)来减少非活动(文件)内存
但它会影响GDB附加使用内存大于可用内存的运行进程。GDB连接将失败。(get无法应用内存问题,然后gdb退出:无法附加进程)
正如我们所知,非活动(fils)是免费的。这是一个最近没有使用过的内存,可以回收用于其他目的。但现在它导致了gdb的失败,或者其他我们还没有面对的影响
什么可能导致出现此问题?我如何手动回收这些记忆