Linux 系统中,可通过 free、top、htop、vmstat 等命令或查看 /proc/meminfo 文件来查内存使用情况
Linux系统中,有多种方法可以查看内存使用情况,以下是详细介绍:
命令行方式
free命令
- 基本用法:在终端中输入
free
,它会显示系统的总内存、已用内存、空闲内存以及交换分区的使用情况。
字段 | 含义 |
---|---|
total | 总安装内存 |
used | 正在运行的进程当前正在使用的内存(used= total – free – buff/cache) |
free | 未使用的内存(free= total – used – buff/cache) |
shared | 多个进程共享的内存 |
buffers | 操作系统保留的内存,在进程需要时分配为缓冲区 |
cached | 存储在RAM中最近使用的文件 |
buff/cache | Buffers + Cache |
available | 可用于启动新应用程序,无需交换的内存大小 |
- 常用选项:
-h
:以人类可读的格式(如MB、GB)显示内存使用情况,方便快速查看。-m
:以MB为单位显示内存信息。-g
:以GB为单位显示内存信息。-s <秒数>
:每隔指定的秒数自动更新一次内存使用情况的显示。
top命令
- 基本功能:
top
命令可以实时显示系统的进程信息以及系统整体的资源使用情况,包括内存使用情况,在默认情况下,它会按照CPU使用率对进程进行排序,并且会不断更新数据。 - 内存相关字段:
KiB Mem
:表示物理内存的总量。KiB Swap
:表示交换分区的总量。Mem
:后面的数值表示已使用的物理内存占总内存的百分比。Swap
:后面的数值表示已使用的交换分区占总交换分区的百分比。Res
:表示进程占用的常驻内存大小,即实际占用的物理内存大小。%Mem
:表示进程占用的物理内存占总内存的百分比。
htop命令
- 特点:
htop
命令与top
类似,但它提供了更友好的用户界面和更多的交互功能,它可以使用上下箭头键来选择进程,按F9可以杀死选中的进程等。 - 安装方法:如果系统中没有安装
htop
,可以通过包管理器进行安装,在Debian或Ubuntu系统中,使用sudo apt-get install htop
命令进行安装;在CentOS或RHEL系统中,使用sudo yum install htop
命令进行安装。 - 内存查看:在
htop
界面中,可以直接看到系统内存的使用情况,包括已用内存、空闲内存等信息,同时还可以查看每个进程的内存占用情况。
vmstat命令
- 功能:
vmstat
命令用于报告虚拟内存统计信息,它可以提供关于进程、内存、分页、块IO、陷阱和CPU活动的详细信息。 - 内存相关字段:
swpd
:表示使用的虚拟内存大小。free
:表示空闲内存大小。buff
:表示用作缓冲区的内存大小。cache
:表示用作缓存的内存大小。si
:表示从磁盘换入的内存大小(每秒)。so
:表示交换到磁盘的内存大小(每秒)。
/proc/meminfo文件
- 查看方法:通过
cat /proc/meminfo
命令可以查看该文件的内容,其中包含了系统内存的详细信息。 - 关键字段:
MemTotal
:表示系统的总内存大小。MemFree
:表示系统当前可用的内存大小。Buffers
:表示内核缓冲区使用的内存大小。Cached
:表示页面缓存使用的内存大小。SwapTotal
:表示系统的总交换空间大小。SwapFree
:表示系统当前可用的交换空间大小。
图形界面方式(适用于有图形界面的Linux系统)
GNOME System Monitor(适用于GNOME桌面环境)
- 打开方法:在应用程序菜单中搜索“System Monitor”并打开。
- 内存查看:在“Resources”选项卡中,可以看到内存的使用情况,包括已用内存、空闲内存、交换分区使用情况等,并且以图表的形式直观地展示出来。
KDE System Monitor(适用于KDE桌面环境)
- 打开方法:在应用程序菜单中搜索“System Monitor”并打开。
- 内存查看:同样可以在相应的选项卡中查看内存的使用情况,包括详细的内存分配和使用信息。
FAQs
如何判断系统内存是否不足?
- 如果
free
命令显示的available
值较低,或者top
、htop
中显示的内存使用率较高且持续上升,同时系统的运行速度明显变慢,可能就表示系统内存不足,如果频繁使用交换分区(Swap
使用率较高),也说明物理内存可能不够用了。
如何释放被缓存占用的内存?
- 在Linux系统中,缓存是为了提高文件系统的访问性能而自动使用的,通常不需要手动释放,如果确实需要释放,可以使用
echo 3 > /proc/sys/vm/drop_caches
命令来清除页面缓存,但这种操作可能会对系统性能产生一定的影响,需要谨慎
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/51504.html