在Linux系统中,内存管理是确保系统稳定运行的关键环节,了解系统的内存使用情况不仅有助于优化性能,还能及时发现潜在的问题,以下是几种查看Linux内存使用情况的方法:
1、free 命令

基本用法:free命令是最常用的查看内存使用情况的工具之一,它提供了系统总内存、已用内存、空闲内存以及交换分区的信息。
free h输出示例:
total used free shared buff/cache available
Mem: 7.6G 322M 324M 377M 7175M 6.6G
Swap: 4.0G 724K 4.0Gtotal表示总内存,used表示已用内存,free表示空闲内存,shared表示共享内存,buff/cache表示缓存和缓冲区内存,available表示可用于启动新应用程序的内存。
选项标志:
b:以Byte为单位显示内存使用情况。
k:以KB为单位显示内存使用情况。

m:以MB为单位显示内存使用情况。
g:以GB为单位显示内存使用情况。
h:以人类可读的单位显示内存使用情况(如K、M、G)。
t:显示内存和交换分区的总和。
s <间隔秒数>:每隔指定秒数更新一次内存使用信息。
2、top 命令

基本用法:top命令不仅可以显示系统的进程信息,还能实时反映内存的使用情况。
top 在top命令的输出中,可以关注“RES”列,它表示进程的常驻内存大小;还可以观察“%MEM”列,了解进程占用内存的百分比。
交互操作:在top命令执行期间,可以使用键盘进行交互操作,如按q退出,按P按CPU使用率排序等。
3、htop 命令
基本用法:htop命令与top类似,但提供了更友好的用户界面和更多的控制功能。
htop 如果系统中未安装htop,可以通过以下命令安装:
sudo apt install htop特点:htop支持颜色高亮显示、垂直和水平滚动、鼠标操作等功能,使得内存监控更加直观和便捷。
4、vmstat 命令
基本用法:vmstat命令报告虚拟内存统计信息,包括进程、内存、分页、块IO、陷阱和CPU活动。
vmstat输出示例:
procs memoryswapiosystemcpu
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 13333328 244364 2039696 0 0 4 4 128 261 0 0 100 0 0swpd表示使用的虚拟内存大小,free表示空闲内存大小,buff表示用作缓冲区的内存大小,cache表示用作缓存的内存大小。
选项标志:
a:显示活动和非活动内存。
s <间隔秒数>:每隔指定秒数更新一次统计信息。
5、/proc/meminfo 文件
基本用法:/proc/meminfo是一个虚拟文件,包含了系统内存的详细信息。
cat /proc/meminfo输出示例(部分):
MemTotal: 8010408 kB
MemFree: 323424 kB
MemAvailable: 6956280 kB
Buffers: 719620 kB
Cached: 5817644 kB
SwapTotal: 4194304 kB
SwapFree: 4193580 kB字段解释:
MemTotal:总内存。
MemFree:空闲内存。
MemAvailable:可用于启动新应用程序的内存。
Buffers:缓冲区内存。
Cached:缓存内存。
SwapTotal:交换分区总大小。
SwapFree:空闲交换分区大小。
6、pidstat 命令
基本用法:pidstat命令主要用于监控进程的性能指标,包括内存使用情况。
pidstat r p <pid>选项标志:
r:显示内存使用情况。
p <pid>:指定要监控的进程ID。
通过上述多种方法,用户可以全面、准确地了解Linux系统的内存使用情况,这些工具各具特点,能够满足不同场景下的需求,定期监控内存使用量,及时发现问题并采取相应的措施,对于保障系统的稳定运行至关重要。
