cat /proc/meminfo
可以查看系统内存使用情况
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| MemTotal: 8175236 kB MemFree: 3202196 kB MemAvailable: 5284992 kB Buffers: 125344 kB Cached: 2060772 kB SwapCached: 0 kB Active: 3913980 kB Inactive: 655548 kB Active(anon): 2412548 kB Inactive(anon): 60252 kB Active(file): 1501432 kB Inactive(file): 595296 kB Unevictable: 3652 kB Mlocked: 3652 kB SwapTotal: 0 kB SwapFree: 0 kB Dirty: 180 kB Writeback: 0 kB AnonPages: 2387064 kB Mapped: 258428 kB Shmem: 86964 kB Slab: 336368 kB SReclaimable: 292052 kB SUnreclaim: 44316 kB KernelStack: 10928 kB PageTables: 12948 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 4087616 kB Committed_AS: 5205168 kB VmallocTotal: 34359738367 kB VmallocUsed: 0 kB VmallocChunk: 0 kB HardwareCorrupted: 0 kB AnonHugePages: 1951744 kB CmaTotal: 0 kB CmaFree: 0 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB DirectMap4k: 124784 kB DirectMap2M: 7215104 kB DirectMap1G: 3145728 kB
|
MemTotal 是全部物理内存,我的虚拟器配置的是1G内存,MemAvailable = memfree+buffers+cached
当memfree不够时,内核会通过回写机制(pdflush线程)把cached和buffered内存回写到后备存储器,也可以通过手动方式显式释放cache内存
1
| echo 3 > /proc/sys/vm/drop_caches
|
释放后,Buffers和Cached 表小了好多,MemFree变大了许多
进程内存