Linux /proc/meminfo inactive(文件)保持高位,并且可以';无法通过drop_缓存回收

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

各位好,

我们在产品中使用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  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的失败,或者其他我们还没有面对的影响

什么可能导致出现此问题?我如何手动回收这些记忆