1. free
free
命令是最常用的查看内存使用情况的命令。它显示系统的总内存、已使用内存、空闲内存和交换内存的总量。
free -h
- -h 选项:以易读的格式(如GB、MB)显示内存大小。
输出示例:
total used free shared buff/cache available Mem: 15Gi 4.7Gi 4.1Gi 288Mi 6.6Gi 9.9Gi Swap: 2.0Gi 0B 2.0Gi
- total:总内存。
- used:已使用的内存。
- free:完全空闲的内存。
- shared:被多个进程共享的内存。
- buff/cache:被缓冲区和缓存使用的内存。
- available:估算的可用于启动新应用程序的内存,而不交换内存。
2. vmstat
vmstat
命令报告关于进程、内存、分页、块IO、中断和CPU活动的信息。
vmstat -s
输出示例:
16384000 total memory 4915200 used memory 1024000 active memory 2048000 inactive memory 9437184 free memory 524288 buffer memory 2097152 swap cache 2097152 total swap 0 used swap 2097152 free swap
- total memory:总内存。
- used memory:已使用的内存。
- free memory:空闲内存。
- buffer memory:缓冲区使用的内存。
- swap cache:交换缓存使用的内存。
- total swap:总交换空间。
- used swap:已使用的交换空间。
- free swap:空闲的交换空间。
3. top
top
命令提供了一个动态更新的实时视图,显示系统中资源使用最多的进程。它也可以用来查看内存使用情况。
top
在top
命令的输出中,可以看到以下内存相关的信息:
- Mem:显示总内存、已使用内存、空闲内存和缓冲区使用的内存。
- Swap:显示总交换空间、已使用交换空间和空闲交换空间。
4. htop
htop
是一个交互式的进程查看器,比top
更直观。它提供了更多的信息和更好的视觉效果。
htop
在htop
的界面中,可以看到内存和交换空间的使用情况,以及每个进程的内存使用量。
5. /proc/meminfo
/proc/meminfo
文件包含了系统内存的详细信息。可以通过cat
命令查看其内容。
cat /proc/meminfo
输出示例:
MemTotal: 16384000 kB MemFree: 9437184 kB MemAvailable: 10485760 kB Buffers: 524288 kB Cached: 2097152 kB SwapCached: 2097152 kB Active: 1024000 kB Inactive: 2048000 kB Active(anon): 512000 kB Inactive(anon): 1024000 kB Active(file): 512000 kB Inactive(file): 1024000 kB Unevictable: 0 kB Mlocked: 0 kB SwapTotal: 2097152 kB SwapFree: 2097152 kB Dirty: 64 kB Writeback: 0 kB AnonPages: 512000 kB Mapped: 204800 kB Shmem: 288000 kB Slab: 204800 kB SReclaimable: 102400 kB SUnreclaim: 102400 kB KernelStack: 64000 kB PageTables: 64000 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 9288128 kB Committed_AS: 2048000 kB VmallocTotal: 34359738367 kB VmallocUsed: 0 kB VmallocChunk: 0 kB HardwareCorrupted: 0 kB AnonHugePages: 0 kB ShmemHugePages: 0 kB ShmemPmdMapped: 0 kB CmaTotal: 0 kB CmaFree: 0 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB DirectMap4k: 102400 kB DirectMap2M: 8388608 kB
- MemTotal:总内存。
- MemFree:空闲内存。
- MemAvailable:估算的可用于启动新应用程序的内存。
- Buffers:缓冲区使用的内存。
- Cached:缓存使用的内存。
- SwapTotal:总交换空间。
- SwapFree:空闲的交换空间。