Linux 查看内存使用情况的几种方法汇总

目录
  • GUI 查看
    • 如何访问系统监视器:
  • 命令获取
    • 虚拟文件 /proc/meminfo
    • 命令 free
  • 命令 vmstat
  • 命令 top
  • 命令 htop

在运行 Linux 系统的过程中为了让电脑或者服务器以最佳水平运行,常常需要监控内存统计信息。

那么今天我们就来看看有哪些方法可以访问所有相关信息并帮助管理员监控内存统计信息。

查看或者获取 Linux 中的内存使用情况既可以通过命令的方式,也可以通过桌面端的GUI程序查看。

以下的过程,所有命令和结果都是使用 Linux 发行版 Ubuntu 18.04。

GUI 查看

如果你使用的环境是带有图形界面的 Linux 版本,那么必定是支持使用图形界面进行服务器管理的。那么,内存使用情况的可视化会使得某些数据集更加清晰自然。

如何访问系统监视器:

导航到显示应用程序。 在搜索栏中输入 System Monitor 并访问该应用程序。 选择资源选项卡。 显示实时内存消耗的图形概览,包括历史信息。

命令获取

虚拟文件 /proc/meminfo

在 linux 系统中,/proc/meminfo 是一个报告可用和已用内存量的虚拟文件,它包含有关系统内存使用情况以及内核使用的缓冲区和共享内存的实时信息。根据所讨论的计算机体系结构和操作系统版本,从该文件读取的输出可能略有不同。

输入指令

cat /proc/meminfo

指令返回

命令 free

在命令终端中键入 free

数据表示已用/可用内存和以KB为单位的交换内存大小。

total 总安装内存
used 正在运行的进程当前正在使用的内存(used= total – free – buff/cache)
free 未使用的内存(free= total – used – buff/cache)
shared 多个进程共享的内存
buffers 作系统保留的内存,在进程需要时分配为缓冲区
cached 存储在 RAM 中最近使用的文件
buff/cache Buffers + Cache
available 可用于启动新应用程序,无需交换的内存大小

和读取 /proc/meminfo 文件相比,free 命令提供的信息较为精简,但是它更容易理解。

为了更灵活输出结果,free 命令可以添加多个选项标志用来格式化输出。下表列出了 free 命令最有用的选项标志。

选项标志 结果
-b 以 Byte 为单位输出
-k 以 KB 为单位的输出
-m 以 MB 为单位的输出
-G 以 GB 为单位输出
-l 详细的低内存和高内存统计信息
-o 旧格式(无 -/+缓冲区/缓存行)
-t RAM + swap
-s 多少秒更新一次
-C 更新多少次

命令 vmstat

vmstat 命令是报告虚拟内存统计信息的有用工具。它的返回提供有关进程、内存、分页、块 IO、捕获和 CPU 活动的一般信息。

这里列举一下每个值的解释,方便大家在分析结果时查阅。

进程
r:等待运行时的进程数。
b:处于不可中断睡眠状态的进程数。

内存
swpd:使用的虚拟内存大小。
free:空闲内存大小。
buff:用作缓冲区的内存大小。
cache:用作缓存的内存大小。

交换区
si:从磁盘换入的内存(/s) 。
so:交换到磁盘的内存(/s)。

IO 块
bi:从块设备接收到的块(块/s)。
bo:发送到块设备的块(块/s)。

系统
in:每秒中断次数,包括时钟。
cs:每秒上下文切换的次数。

CPU – 下面都是占总 CPU 时间的百分比。
us:运行非内核代码所花费的时间(用户时间,包括nice time)
sy:运行内核代码所花费的时间(系统时间)
id:空闲时间,在 Linux 2.5.41 之前,这包括 IO 等待时间。
wa:等待IO所花费的时间,在 Linux 2.5.41 之前,包含在 idle 中。
st:从虚拟机窃取的时间,在 Linux 2.6.11 之前,未知。

命令 top

top 命令可用于检查每个进程的内存和 CPU 使用情况等。包含有以下信息:

正常运行时间
平均负荷
正在运行的任务数
登录用户数
CPU 数量/CPU 利用率
内存/交换区的系统进程

top 命令输入后,数据会不断更新,这样你可以实时跟踪进程状况。

通过 top 命令,除了看到基本的内存信息外,还可以通过有限的交互界面和进程互操作。输入 top 命令时还可以使用命令行选项来操纵和配置操作。

如果你需要了解关于 top 命令的所有可用选项的完整信息,可以通过 Linux 中的 man top 命令查看。

命令 htop

命令 htop 与命令 top 类似。但是,命令 htop 的真正优势在于其用户友好的操作环境和更强大的控件。

命令 htop 输出包含颜色高亮,为进程提供完整的命令行,以及垂直和水平滚动的功能。

对照上图

顶部区域提供摘要信息并包含图形仪表和汇总信息统计。 接下来的部分按进程组织了详细数据,这样您就可以轻松地对单个进程执行操作,支持鼠标直接点击选中进程。 屏幕底部列出的快捷方式将使您能够快速操作和配置进程,而省去输入特定指令。

命令 htop 在这个发行版里其实没有默认安装,如果发现指令不存在,可以通过下面的指令安装

sudo apt install htop 

Linux 查看内存使用情况的几种方法都是基于命令行的,需要用户具备一定的 Linux 命令行操作经验。其中,free 命令是最常用的方法,可以直接显示系统内存的使用情况。top 和 htop 命令可以实时监控系统的内存使用情况,vmstat 命令可以显示更详细的内存使用情况。/proc/meminfo 文件包含了系统内存的详细信息,可以通过 cat 命令查看。用户可以根据自己的需求选择合适的方法来查看系统内存的使用情况,以便及时调整系统配置和优化性能。

到此这篇关于Linux 查看内存使用情况的几种方法汇总的文章就介绍到这了,更多相关Linux 查看内存使用情况的方法内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • linux查看文件系统块大小与内存页大小的简单方法

    一:查看文件系统块大小 sudo /sbin/tune2fs -l /dev/sda1|grep "Block size" 需要注意到系统可能有多个盘多个文件系统,可通过df命令查看 数值单位是字节,如图示: 二:查看内存页大小 getconf PAGESIZE 数值单位是字节,如图示: 以上就是小编为大家带来的linux查看文件系统块大小与内存页大小的简单方法全部内容了,希望大家多多支持我们~

  • Linux 下dmidecode查看内存条数的命令介绍

    在linux下有很多命令,可以查看机器的硬件信息. 这里介绍一个查看内存的条数等信息的方法. 相看硬件信息,仅适合ubuntu系列发行版: lshw Linux 下查看内存条数: dmidecode |grep -A16 "Memory Device$" 有关dmidecode命令的详细用法,请参考这篇文章:linux查看主板内存槽与内存信息的命令dmidecode. 以上就是小编为大家带来的Linux 下dmidecode查看内存条数的命令介绍全部内容了,希望大家多多支持我们~

  • Linux 查看内存插槽数、最大容量的方法

    查看内存插槽数: dmidecode|grep -P -A5 "Memory\s+Device"|grep Size|grep -v Range 查看最大容量: dmidecode | grep -P 'Maximum\s+Capacity' 以上这篇Linux 查看内存插槽数.最大容量的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • 详解Linux如何查看当前占用CPU或内存最多的几个进程

    命令 ps -aux | sort -k4nr | head -N 命令详解: 1.head:-N可以指定显示的行数,默认显示10行. 2.ps:参数a指代all--所有的进程,u指代userid--执行该进程的用户id,x指代显示所有程序,不以终端机来区分. ps -aux的输出格式如下: USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.0 19352 1308 ? Ss Jul29 0:00 /sbin/

  • 用来查看linux内存使用情况的shell脚本

    在 linux 中,/proc/$PID/status 文件提供了该进程资源(内存,堆栈,信号量,子父进程)的使用情况,虽然linux提供了不少查看内存的命令,但都是看整体的使用情况,无法对单个进程的内存使用情况进行查看. 本文为大家提供的这个脚本,通过查看status文件中VmRSS的字段来查看系统或进程使用的内存情况,有需要的朋友不妨参考下. 复制代码 代码如下: #! /bin/bash echo -n "PidName   " > /root/script/pid.fec

  • 深入理解linux下查看进程内存的使用情况

    动态查看一个进程的内存使用 复制代码 代码如下: 1.top命令top -d 1 -p pid [,pid ...] //设置为delay 1s,默认是delay 3s如果想根据内存使用量进行排序,可以shift + m(Sort by memory usage) 静态查看一个进程的内存使用 复制代码 代码如下: 1.pmap命令pmap pid 2.ps命令ps aux|grep process_name 3.查看/proc/process_id/文件夹下的status文件Name:   ph

  • linux查看主板内存槽与内存信息的命令dmidecode方法

    1.查看内存槽数.那个槽位插了内存,大小是多少 dmidecode|grep -P -A5 "Memory\s+Device"|grep Size|grep -v Range 2.查看最大支持内存数 dmidecode|grep -P 'Maximum\s+Capacity' 3.查看槽位上内存的速率,没插就是unknown. dmidecode|grep -A16 "Memory Device"|grep 'Speed' 其实以上数值就是通过dmidecode命令

  • linux下查看内存条数及每根内存大小的实现方法(推荐)

    在linux系统中,查看内存条个数,及每根内存的大小,可以使用dmidecode命令. 如下: #dmidecode | grep -A16 "Memory Device$" 输出结果: Memory Device #存储设备 Array Handle: 0x1000 #阵列处理 Error Information Handle: Not Provided #错误信息的处理:不提供 Total Width: 72 bits #总宽度: 72位 Data Width: 64 bits #

  • Linux下查看CPU型号,内存大小,硬盘空间的命令(详解)

    1 查看CPU 1.1 查看CPU个数 # cat /proc/cpuinfo | grep "physical id" | uniq | wc -l 2 **uniq命令:删除重复行;wc –l命令:统计行数** 1.2 查看CPU核数 # cat /proc/cpuinfo | grep "cpu cores" | uniq cpu cores : 4 1.3 查看CPU型号 # cat /proc/cpuinfo | grep 'model name' |un

  • Linux系统查看CPU、机器型号、内存等信息

    系统维护时随时可能有需要查看 CPU 使用率,并根据相应信息分析系统状况的需要.在 linux 中,可以通过 top 命令来查看 CPU 使用状况.关于 top 命令的详细说明请参看 使用top命令分析linux系统性能的详解 这篇文章. top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器:不过这里我们主要是介绍一下 linux 系统如何查看CPU信息.机器型号.内存信息等. 系统 # uname -a # 查看内核/操作系统/

随机推荐