本文共 2320 字,大约阅读时间需要 7 分钟。
监控系统的内存使用情况是系统管理和性能优化的关键部分之一。在 Linux 环境下,有多种方法可以实现对内存的监控和管理。本文将介绍 12 种常用的方法,涵盖了从基本的命令行工具到更高级的监控工具的使用,帮助您全面掌握系统的资源使用情况。
free 命令用于显示系统内存的使用情况,包括总内存、已使用内存、空闲内存等。
示例输出:total used free shared buff/cache availableMem: 7.7G 3.1G 1.1G 1.2G 3.5G 2.3G Swap: 2.0G 0B 2.0G
top 命令可以实时查看系统的各项资源使用情况,包括内存、CPU、进程等。
示例输出: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. Swap: 2048.0 total, 2048.0 free, 0.0 used.
vmstat 命令用于显示系统的虚拟内存使用情况,包括内存、磁盘、CPU等。
示例输出:procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st1 0 0 1221008 330940 922332 0 0 0 0 0 0 1 13 19 0 0 100 0 0
sar 命令可以收集、报告和保存系统的性能数据,包括内存、CPU、磁盘等方面的信息。
示例输出:08:10:01 PM kbmemfree kbavail kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty1259828 4397864 2285128 29.36 248272 3015904 2381884 15.59 2404508 2014540 5208
/proc/meminfo 文件包含了系统的内存信息,可以通过查看该文件来获取内存使用情况。
示例输出:MemTotal: 7818180 kB MemFree: 1207196 kB MemAvailable: 4115164 kB Buffers: 329540 kB Cached: 2884056 kB SwapCached: 0 kB
pmap 命令用于显示进程的内存映射信息,包括进程占用的内存地址、权限、大小等。
示例输出: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
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%
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
htop 命令是一个交互式的系统监控工具,类似于 top 命令,但提供了更加友好的界面和功能。
示例输出:htop
glances 命令是一个交互式的系统监控工具,可以显示系统各项资源的使用情况,并支持网络监控和插件扩展。
示例输出:glances
Grafana 和 Prometheus 是一组流行的开源监控工具,可以实现对系统资源的监控和可视化。
还可以编写自定义的监控脚本,通过调用系统命令或读取/proc 文件系统来获取系统资源使用情况,并根据需求进行处理和展示。
通过以上 12 种方法,可以全面掌握 Linux 系统的内存使用情况,及时发现和解决资源瓶颈问题,确保系统的稳定性和性能表现。
转载地址:http://vtzfk.baihongyu.com/