在Linux操作系统中,我们可以通过各种命令来查看系统内存的使用情况。这些命令通常位于/proc/meminfo或/sys/fs/cgroup/memory目录中。
/proc/meminfo
/proc/meminfo是一个特殊文件,它包含了有关系统内存的各种信息。我们可以使用cat命令来查看其内容:
cat /proc/meminfo
输出示例:
MemTotal: 8192 kB
MemFree: 2048 kB
MemAvailable: 3072 kB
Buffers: 100 kB
Cached: 200 kB
SwapCached: 0 kB
Active: 500 kB
Inactive: 300 kB
Active(anon): 400 kB
Inactive(anon): 200 kB
SwapTotal: 1024 kB
SwapFree: 900 kB
Dirty: 0 kB
Writeback: 0 kB
AnonPages: 600 kB
Mapped: 100 kB
Shmem: 50 kB
Slab: 100 kB
SReclaimable: 50 kB
SUnreclaim: 50 kB
KernelStack: 4 kB
PageTables: 8 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 1024 kB
Committed_AS: 800 kB
VmallocTotal: 1024 kB
VmallocUsed: 300 kB
VmallocChunk: 100 kB
Percpu: 200 kB
AnonHugePages: 500 kB
ShmemHugePages: 0 kB
ShmemPmdMapped: 0 kB
CmaTotal: 1024 kB
CmaFree: 900 kB
其中,重要的字段包括:
* MemTotal:系统总内存大小
* MemFree:当前空闲内存大小
* MemAvailable:可供分配的内存大小
* SwapTotal:交换分区总大小
* SwapFree:当前空闲交换分区大小
/sys/fs/cgroup/memory
/sys/fs/cgroup/memory目录包含了有关cgroup内存使用的信息。我们可以使用cat命令来查看其内容:
cat /sys/fs/cgroup/memory/memory.limit_in_bytes
输出示例:
1073741824
这表示该cgroup的内存限制为1GB。