# linux内存管理

# 1、free 查看内存占用

free -h

# 2、/proc/meminfo 详解

负责输出/proc/meminfo的源代码是:fs/proc/meminfo.c : meminfo_proc_show()

MemTotal:        3809036 kB 总内存大小
MemFree:          282012 kB 空闲内存大小
MemAvailable:     865620 kB 可用内存大小
Buffers:               0 kB 文件缓存大小
Cached:           854972 kB 磁盘高速缓冲大小
SwapCached:       130900 kB 交换空间高速缓冲大小
Active:          1308168 kB 活跃使用中高速缓冲大小
Inactive:        1758160 kB 不活跃高速缓冲大小
Active(anon):    1010416 kB 
Inactive(anon):  1370480 kB
Active(file):     297752 kB
Inactive(file):   387680 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:       4063228 kB 交换空间总大小
SwapFree:        3357108 kB 空闲交换空间
Dirty:                 0 kB 等待被写回到磁盘的大小
Writeback:             0 kB 正在被写回的大小
AnonPages:       2104412 kB 未映射的大小
Mapped:            40988 kB 设备和文件映射的大小
Shmem:            169540 kB
Slab:             225420 kB 内核数据结构缓存的大小
SReclaimable:     134220 kB 可回收Slab的大小
SUnreclaim:        91200 kB 不可回收的Slab的大小
KernelStack:        5936 kB
PageTables:        35628 kB 管理内存分页的索引表的大小
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     5967744 kB
Committed_AS:    5626436 kB
VmallocTotal:   34359738367 kB
VmallocUsed:      351900 kB
VmallocChunk:   34359363652 kB
HardwareCorrupted:     0 kB
AnonHugePages:    139264 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:      204484 kB
DirectMap2M:     3915776 kB
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

计算内存占用:

memUsed = MemTotal - MemAvailable

计算swap内存占用:

swapUsed = SwapTotal - SwapFree

上次更新: 11/28/2023, 7:06:34 PM