跟踪 Linux 中的内存使用情况
通常有必要跟踪系统的内存使用情况,以确定消耗所有 CPU 资源的程序或负责减慢 CPU 活动的程序。还需要跟踪内存使用情况以确定服务器上的负载。解析使用数据使服务器能够平衡负载并为用户的请求提供服务,而不会减慢系统速度。
- free显示系统当前可用和使用的内存量(物理的和交换的)。 free 命令通过解析 /proc/meminfo 来收集这些数据。默认情况下,内存量以千字节为单位显示。
UNIX 中的自由命令
watch -n 5 free -m watch command is used to execute a program periodically.
根据上图,总共有 2000 MB 的 RAM 和 1196 MB 的交换空间分配给 Linux 系统。在这 2000 MB 的 RAM 中,目前使用了 834 MB,其中 590 MB 是空闲的。同样,对于交换空间,在 1196 MB 中,0 MB 正在使用,1196 MB 当前在系统中可用。
- vmstat vmstat 命令用于显示系统的虚拟内存统计信息。此命令报告有关内存、分页、磁盘和 CPU 活动等的数据。此命令的第一次使用返回自上次重新启动以来的数据平均值。进一步使用基于长度延迟的采样周期返回数据。
vmstat -d Reports disk statistics
vmstat -s Displays the amount of memory used and available
- top top 命令显示系统中所有当前正在运行的进程。此命令显示内核当前正在处理的进程和线程的列表。 top 命令也可以用来监控内存使用总量。
top -H Threads-mode operation Displays individual thread that are currently in the system. Without this command option, a summation of all thread in each process is displayed.
- /proc/meminfo该文件包含有关内存使用的所有数据。它提供当前内存使用情况的详细信息,而不是旧的存储值。
- htop htop 是一个交互式进程查看器。此命令类似于 top 命令,除了它允许垂直和水平滚动以允许用户查看系统上运行的所有进程及其完整命令行以及将它们视为进程树,选择多个进程并对其进行操作一下子把它们都给了。
在 UNIX 中运行 htop 命令:
参考:
- Ubuntu 手册