Linux内存监控的12种方法全面掌握系统资源使用情况

10 篇文章 0 订阅

监控系统的内存使用情况是系统管理和性能优化的关键部分之一。在 Linux 环境下,有多种方法来实现对内存的监控和管理。本文将介绍 12 种常用的方法,涵盖了从基本的命令行工具到更高级的监控工具的使用,帮助您全面掌握系统的资源使用情况。

1. free 命令

free 命令用于显示系统内存的使用情况,包括总内存、已使用内存、空闲内存等。

free -h

示例输出:

              total        used        free      shared  buff/cache   available
Mem:           7.7G        3.1G        1.1G        1.2G        3.5G        2.3G
Swap:          2.0G          0B        2.0G

2. top 命令

top 命令可以实时查看系统的各项资源使用情况,包括内存、CPU、进程等。

top

示例输出:

Tasks: 257 total,   1 running, 256 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1.0 us,  0.7 sy,  0.0 ni, 98.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   7818.7 total,   1174.9 free,   3291.9 used,   3352.0 buff/cache
MiB Swap:   2048.0 total,   2048.0 free,      0.0 used.   4183.2 avail Mem

3. vmstat 命令

vmstat 命令用于显示系统的虚拟内存使用情况,包括内存、磁盘、CPU 等。

vmstat 1 5

示例输出:

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 1221008 330940 922332    0    0     0     1   13   19  0  0 100  0  0

4. sar 命令

sar 命令可以收集、报告和保存系统的性能数据,包括内存、CPU、磁盘等方面的信息。

sar -r

示例输出:

08:10:01 PM kbmemfree kbavail kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty
08:20:01 PM   1259828  4397864   2285128     29.36    248272   3015904   2381884     15.59   2404508   2014540        52
08:30:01 PM   1243748  4381748   2302040     29.54    248672   3018064   2381884     15.59   2411572   2017944        60

5. /proc/meminfo 文件

/proc/meminfo 文件包含了系统的内存信息,可以通过查看该文件来获取内存使用情况。

cat /proc/meminfo

示例输出:

MemTotal:        7818180 kB
MemFree:         1207196 kB
MemAvailable:    4115164 kB
Buffers:          329540 kB
Cached:          2884056 kB
SwapCached:            0 kB

6. pmap 命令

pmap 命令用于显示进程的内存映射信息,包括进程占用的内存地址、权限、大小等。

pmap PID

示例输出:

0000559b7ffac000   2060K r-x--  /usr/bin/bash
0000559b801cb000    244K r--s-  /usr/lib/locale/locale-archive
0000559b801ff000      4K r----  /usr/lib/locale/locale-archive
...
mapped: 202476K    writeable/private: 456K    shared: 4K

7. smem 命令

smem 命令用于以更友好的方式显示内存使用情况,并支持按照进程进行排序。

smem

示例输出:

  PID User     Command                         Swap      USS      PSS      RSS
    1 root     /sbin/init                      0.00%    0.00%    0.01%    0.01%
    2 root     [kthreadd]                      0.00%    0.00%    0.00%    0.00%
...
 2135 user     /usr/bin/firefox                0.00%    0.51%    1.46%    3.13%

8. atop 命令

atop 命令是一个交互式的系统监控工具,可以显示系统资源使用情况的详细信息。

atop

示例输出:

ATOP - myhostname             2022/01/01   08:00:01               10s elapsed
  PR  VIRT  RES  SHR S  CPU% MEM%   TIME+  COMMAND
   1  2500  456  312 S   0.0  0.0   0:00.01 bash

9. htop 命令

htop 命令是一个交互式的系统监控工具,类似于 top 命令,但提供了更加友好的界面和功能。

htop

10. glances 命令

glances 命令是一个交互式的系统监控工具,可以显示系统各项资源的使用情况,并支持网络监控和插件扩展。

glances

11. Grafana + Prometheus

Grafana 和 Prometheus 是一组流行的开源监控工具,可以实现对系统资源的监控和可视化。

12. 自定义脚本

还可以编写自定义的监控脚本,通过调用系统命令或读取/proc 文件系统来获取系统资源使用情况,并根据需求进行处理和展示。

通过以上 12 种方法,可以全面掌握 Linux 系统的内存使用情况,及时发现和解决资源瓶颈问题,确保系统的稳定性和性能表现。

如果你觉得文章还不错,请大家 点赞、分享、留言 ,因为这将是我持续输出更多优质文章的最强动力!

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

瑆箫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值