内存查看

Catalogue
  1. 进程内存

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变大了许多

进程内存