欢迎各位兄弟 发布技术文章
这里的技术是共享的
在 Linux 系统中,你可以使用多种方法来查看最近 24 小时的内存占用情况。以下是一些常用的方法:
vmstat 命令vmstat 命令提供有关系统进程、内存、分页、块 IO、陷阱和 CPU 活动的统计信息。你可以使用以下命令来每隔几秒采样一次内存使用情况,并手动记录:
sh复制代码watch -n 5 vmstat 1 5
这个命令会每隔 5 秒执行一次 vmstat,并显示 5 次采样结果。你可以将结果保存到文件中,然后分析:
sh复制代码watch -n 5 'vmstat 1 5 >> vmstat_output.txt'
sar 命令sar 是 sysstat 包的一部分,用于收集、报告和保存系统活动信息。你需要确保已经安装了 sysstat 包。
安装 sysstat:
sh复制代码sudo apt-get install sysstat # Debian/Ubuntu sudo yum install sysstat # CentOS/RHEL
启用并启动 sysstat 服务(如果尚未启动):
sh复制代码sudo systemctl enable sysstat sudo systemctl start sysstat
然后,你可以使用 sar 命令查看内存使用情况:
sh复制代码sar -r 1 24
这个命令会显示最近 24 小时每隔 1 分钟的内存使用情况。
atop 命令atop 是一个高级的系统和进程监控工具,可以显示详细的资源使用情况。你需要先安装它:
sh复制代码sudo apt-get install atop # Debian/Ubuntu sudo yum install atop # CentOS/RHEL
启动 atop 并查看内存使用情况:
sh复制代码sudo atop
在 atop 界面中,你可以按 m 键来专注于内存使用情况。你还可以使用 atop 的记录功能来记录一段时间内的内存使用情况:
sh复制代码sudo atop -w /var/log/atop.log 600 # 记录 10 小时,每隔 1 分钟采样一次
然后使用 atop -r 命令查看记录的数据:
sh复制代码sudo atop -r /var/log/atop.log
free 命令结合脚本你可以编写一个简单的 Bash 脚本来每隔一段时间采样一次内存使用情况,并保存到文件中:
sh复制代码#!/bin/bash
output_file="/var/log/memory_usage.log"
while true; do date >> $output_file free -h >> $output_file echo "---------------------------" >> $output_file sleep 60 # 每分钟采样一次 done
将脚本保存为 memory_monitor.sh,并给予执行权限:
sh复制代码chmod +x memory_monitor.sh
然后运行脚本:
sh复制代码./memory_monitor.sh &
你可以使用 tail -f /var/log/memory_usage.log 查看实时记录的内存使用情况,或者使用其他工具来分析日志文件。
这些方法可以帮助你监控和记录最近 24 小时的内存占用情况,具体选择哪种方法取决于你的需求和偏好。