欢迎各位兄弟 发布技术文章
这里的技术是共享的
在 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 &
你可以使用 ta
il -f /var/log/memory_usage.log
查看实时记录的内存使用情况,或者使用其他工具来分析日志文件。
这些方法可以帮助你监控和记录最近 24 小时的内存占用情况,具体选择哪种方法取决于你的需求和偏好。