#!/bin/bash
# ========================= 参数配置 =========================
LOG_FILE="/var/log/memory_monitor_top.log" # 日志文件路径,建议放在 /var/log 或用户目录
INTERVAL=10 # 监控间隔时间(秒)
TOP_N=20 # 统计占用内存最多的前 N 个进程
# =========================================================
# ========================= 主循环 =========================
while true; do
# 获取当前时间戳
current_time=$(date +"%Y-%m-%d %H:%M:%S")
# 使用 top 命令获取进程信息,按 %MEM 降序排序,取前 TOP_N 条
# -b: 批处理模式
# -n 1: 只输出一次
# -d $INTERVAL: 设置刷新间隔(此处仅作为参数传递,实际间隔由 sleep 控制)
# -o %MEM: 按内存占用排序
# -c: 显示完整命令行
# -w 512: 将列宽扩展到 512,确保长命令不被截断
# | head -n $TOP_N: 只取前 N 条记录
process_info=$(top -b -n 1 -d $INTERVAL -o %MEM -c -w 512 | head -n $TOP_N)
# 将结果写入日志文件
{
echo "[$current_time]"
echo "$process_info"
echo "----------------------------------------"
} >> $LOG_FILE
# 暂停 INTERVAL 秒后继续循环
sleep $INTERVAL
done
使用top命令进行内存监测
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 本文是使用Eclipse Memory Analyzer Tool (MAT)进行内存泄漏分析的笔记。遇到大大小小...
- Android 内存优化篇 - 使用profile 和 MAT 工具进行内存泄漏检测
- 前言 在 Android 开发中,内存泄漏这个名词我想大家都不陌生,但是真正注意到这个问题并去解决的估计很少,因为...
- 作者:小强 贝聊移动开发部 Android工程师 1.Java内存分配策略 Java 程序运行时的内存分配策略有三...
- 前言: 上一周,在52的精华帖中,看到有位大佬用Python制作了鬼泣5的修改器,看完才知道,原来Python也可...