在计算机的世界里,内存就像是一个临时的储物间,计算机运行的各种程序和数据都会在这个“储物间”里进进出出。对于Linux系统来说,了解如何查看内存使用情况是非常重要的,无论是系统管理员管理服务器资源,还是普通用户排查自己设备上的性能问题。本文将详细介绍在Linux系统下查看内存的各种方法。
一、基础知识:内存的概念
在深入探讨如何查看内存之前,我们先来简单了解一下内存是什么。内存(Memory),也被称为随机存取存储器(Random Access Memory,RAM),它就像是一个超级快速的笔记本,计算机的处理器(CPU)在运行程序和处理数据时,会频繁地从内存中读取和写入信息。例如,当你打开一个文本编辑器编写文档时,这个文本编辑器的程序代码以及你正在编辑的文档内容都会暂时存放在内存中,这样CPU就能快速地访问和处理它们。
二、使用free命令查看内存
1. 基本用法
total used free shared buff/cache available
Mem: 8169300 3070204 444 102400 4029652 4508028
Swap: 2097148 10240 2086908
2. 以更易读的方式查看
total used free shared buff/cache available
Mem: 7.8Gi 2.9Gi 1.0Gi 99.0Mi 3.8Gi 4.3Gi
Swap: 2.0Gi 10.0Mi 2.0Gi
三、使用top命令查看内存
1. 命令简介
2. 内存相关信息
top
Tasks: 108 total, 1 running, 107 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 8169300 total, 3070204 used, 444 free, 102400 shared, 4029652 buff/cache
KiB Swap: 2097148 total, 10240 used, 2086908 free.
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 185644 6196 4048 S 0.0 0.1 0:01.87 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
四、使用vmstat命令查看内存
1. 命令功能
2. 内存相关输出
procs --memory
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 10240 444 10 0 0 0 0 101 103 0 0 100 0 0
五、使用/proc/meminfo文件查看内存
1. 文件内容
MemTotal: 8169300 kB
MemFree: 444 kB
MemAvailable: 4508028 kB
Buffers: 102400 kB
Cached: 3927252 kB
SwapCached: 0 kB
Active: 2200128 kB
Inactive: 1701728 kB
HighTotal: 2097152 kB
HighFree: 1048576 kB
LowTotal: 6072148 kB
LowFree: 20878 kB
SwapTotal: 2097148 kB
SwapFree: 2086908 kB
Dirty: 0 kB
Writeback: 0 kB
AnonPages: 951988 kB
Mapped: 1117488 kB
Shmem: 102400 kB
Slab: 512720 kB
SReclaimable: 341800 kB
SUnreclaimable: 170920 kB
KernelStack: 15360 kB
PageTables: 23072 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 6181798 kB
Committed_AS: 3040488 kB
VmallocTotal: kB
VmallocUsed: 40960 kB
VmallocChunk: kB
HardwareCorrupted: 0 kB
AnonHugePages: 524288 kB
ShmemHugePages: 0 kB
ShmemPmdMapped: 0 kB
CachedHugePages: 1048576 kB
HugePages_Total: 0 kB
HugePages_Free: 0 kB
HugePages_Rsvd: 0 kB
HugePages_Surp: 0 kB
Hugepagesize: 2048 kB
DirectMap4k: 262144 kB
DirectMap2M: 8192000 kB
六、结论
在Linux系统中,有多种方法可以查看内存使用情况,每种方法都有其特点。`free`命令简单直观,适合快速查看内存的总体使用情况;`top`命令不仅可以查看内存,还能同时查看其他系统资源和进程信息;`vmstat`命令提供了更深入的虚拟内存统计信息;而`/proc/meminfo`文件则包含了最为详细的内存相关数据。根据不同的需求,无论是简单的日常检查还是深入的系统性能分析,你都可以选择合适的方法来查看Linux系统中的内存情况。掌握这些查看内存的方法,有助于更好地管理Linux系统的资源,确保系统的稳定和高效运行。