在运行 Linux 系统的过程中为了让电脑或者服务器以最佳水平运行,常常需要监控内存统计信息。
查看或者获取 Linux 中的内存使用情况既可以通过命令的方式,也可以通过桌面端的GUI程序查看。
GUI 查看
如果你使用的环境是带有图形界面的 Linux 版本,那么必定是支持使用图形界面进行服务器管理的。那么,内存使用情况的可视化会使得某些数据集更加清晰自然。
如何访问系统监视器:
- 导航到显示应用程序。
- 在搜索栏中输入 System Monitor 并访问该应用程序。
- 选择资源选项卡。
- 显示实时内存消耗的图形概览,包括历史信息。
命令获取
虚拟文件 /proc/meminfo
输入指令
cat /proc/meminfo
指令返回
命令 free
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 命令提供的信息较为精简,但是它更容易理解。
选项标志 | 结果 |
-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)。
bi:从块设备接收到的块(块/s)。
bo:发送到块设备的块(块/s)。
in:每秒中断次数,包括时钟。
cs:每秒上下文切换的次数。
us:运行非内核代码所花费的时间(用户时间,包括nice time)
sy:运行内核代码所花费的时间(系统时间)
id:空闲时间,在 Linux 2.5.41 之前,这包括 IO 等待时间。
wa:等待IO所花费的时间,在 Linux 2.5.41 之前,包含在 idle 中。
st:从虚拟机窃取的时间,在 Linux 2.6.11 之前,未知。
命令 top
正常运行时间
平均负荷
正在运行的任务数
登录用户数
CPU 数量/CPU 利用率
内存/交换区的系统进程
top 命令输入后,数据会不断更新,这样你可以实时跟踪进程状况。
如果你需要了解关于 top 命令的所有可用选项的完整信息,可以通过 Linux 中的 man top 命令查看。
命令 htop
命令 htop 输出包含颜色高亮,为进程提供完整的命令行,以及垂直和水平滚动的功能。
- 顶部区域提供摘要信息并包含图形仪表和汇总信息统计。
- 接下来的部分按进程组织了详细数据,这样您就可以轻松地对单个进程执行操作,支持鼠标直接点击选中进程。
- 屏幕底部列出的快捷方式将使您能够快速操作和配置进程,而省去输入特定指令。
命令 htop 在这个发行版里其实没有默认安装,如果发现指令不存在,可以通过下面的指令安装
sudo apt install htop
学习可以等,时间不等人!
关注我,带你学习编程领域更多核心技能!