Linux 查看内存大小和使用情况的方法汇总 您所在的位置:网站首页 linux查看占用内存的应用记录 Linux 查看内存大小和使用情况的方法汇总

Linux 查看内存大小和使用情况的方法汇总

2024-06-27 00:43| 来源: 网络整理| 查看: 265

内存是影响电脑性能的重要硬件之一,所以在日常使用电脑的过程中,需要经常关注它的使用状况。Linux 系统有多种方式可以查看内存大小,并跟踪到内存的使用情况,本文总结了一些比较常见的方法。

开始之前说明一下,本文所说的方法仅涉及 Linux 系统自带或默认安装的工具,对于需要单独安装的第三方内存信息查看软件或命令,不在本文介绍的范围之内。比如 dmidecode 和 hwinfo。

使用系统监视器

虽然说 Linux 系统用命令会比较快捷,但如果使用的是桌面版 Linux,这会是一个更加直观的选择。以我常用的 Gnome 桌面环境为例,它提供了一个名为「系统监视器(System Monitor)」的小工具。直接运行,就能以可视化的图表来观察到内存的使用情况。

在不同的 Linux 桌面环境下,软件名称可能会不一样。比如在 KDE,它可能叫 KSysGuard。但一定会有一个类似功能的软件。

使用 free 命令

对于习惯用终端,或是在 Linux 服务器环境上,就只能选择使用命令来查看内存使用情况。首先要推荐使用的就是 free 命令,建议加上 -h 选项,它会让命令的输出结果更方便查看。在我的电脑上命令输出如下:

❯ free -h total used free shared buff/cache available Mem: 31Gi 3.4Gi 24Gi 1.1Gi 2.9Gi 26Gi Swap: 0B 0B 0B

这是一个简单的表格结构。第一行为表头,第二行为物理内存信息,第三行为虚拟交换内存。上面输出的信息可以看到,我当前的这台电脑内存有 31GB(total),已经用了 3.4GB(used),剩余可用大小为 26GB(available)。

使用 top 命令

top 是另外一个可以用来查看内存使用情况的命令。直接输入 top 命令后按回车键,就能看到如下界面:

在第 4 行,即 Mib Mem 开头的这行为内存使用信息,可以看到和 free 命令类似的输出结果,单位为 MB。不过有所不同的是,top 命令每 3 秒就会自动刷新一次数据;而且在下面还有一个列表,其中的 %MEM 这一列提供了运行中程序所占用的内存大小。数字是百分比值,和总内存大小(total)进行换算可以得到程序大致使用的内存。

使用 /proc/meminfo 文件

在 Linux 系统上,一切皆文件。内存信息也能通过文件方式来查看。存放内存信息的文件位置为 /proc/meminfo,所以通过使用查看文件的命令来读取它的内容,也能实现获取内存信息的功能。

cat /proc/meminfo

命令输出结果很长,这里仅列举开头几行作为示例:

MemTotal: 32737172 kB MemFree: 25040664 kB MemAvailable: 26554608 kB Buffers: 164280 kB Cached: 3064824 kB SwapCached: 0 kB Active: 907548 kB Inactive: 4452772 kB Active(anon): 3672 kB Inactive(anon): 3528512 kB

从名字就可以看出,MemTotal 是内存的总大小,MemFree 是未被使用的大小,MemAvailable 是可用大小。

使用 vmstat 命令

使用 vmstat 命令能得到的内存信息和使用 free 命令差不多。而且需要搭配 grep 命令筛选一下结果,否则会有其他信息干扰。建议使用的方式如下:

vmstat -s|grep memory

该命令会输出以下样式的结果:

❯ vmstat -s|grep memory 32737172 K total memory 4255132 K used memory 935848 K active memory 4317508 K inactive memory 25135556 K free memory 169456 K buffer memory 使用 lsmem 命令

使用 lsmem 命令可以查看内存的可用地址范围,区块大小,以及在线状态。这个命令提供的数据过于底层,对大多数人来说难得用上。命令默认的输出结果如下:

❯ lsmem RANGE SIZE STATE REMOVABLE BLOCK 0x0000000000000000-0x000000007fffffff 2G online yes 0-15 0x0000000100000000-0x000000087fffffff 30G online yes 32-271 Memory block size: 128M Total online memory: 32G Total offline memory: 0B 总结

以日常观察内存使用情况的用途来说,上面列出的方法只需要选择一到两种方法即可。如果使用的是桌面端环境,可以优先考虑使用系统监视器,它能更直观的了解使用的内存大小,以及一段时间里内存使用波动,而且它也提供了和 top 命令一样的进程管理功能,用起来会很方便。free 命令和 top 命令很有掌握的必要,因为对于 Linux 服务器环境而言,默认只能选择它俩。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有