# system_monitor_scripts **Repository Path**: PushengHe/system_monitor_scripts ## Basic Information - **Project Name**: system_monitor_scripts - **Description**: system_monitor_scripts - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-11 - **Last Updated**: 2026-03-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Android 系统监控工具 这个项目提供了一套工具,用于监控 Android 设备的系统资源使用情况,以及一些开发调试脚本。 ## 功能特点 该项目包含以下主要工具: ### 1. ADB 内存系统监控 (adb_memory_system_monitor.py) 这是一个 Python 脚本,通过 ADB(Android Debug Bridge)从连接的 Android 设备收集系统监控信息: - **内存信息**:通过 `dumpsys meminfo` 获取详细的内存使用情况 - **额外内存信息**:从 `/proc/meminfo` 获取系统级内存统计 - **DMA 内存信息**:从 `/sys/kernel/debug/dma_buf/bufinfo` 获取 DMA 缓冲区信息 - **进程排名信息**:通过 `procrank` 获取进程内存使用排名 - **系统属性信息**:通过 `getprop` 获取系统属性 - **GPU 信息**:通过 `dumpsys gfxinfo` 获取图形信息 - **GPU 使用率**:针对高通平台,从 `/sys/class/kgsl/kgsl-3d0/gpu_busy_percentage` 获取 GPU 使用率 - **CPU 信息**:通过 `top` 命令获取 CPU 使用情况 - **进程信息**:通过 `ps -ef` 获取详细的进程列表 脚本会每 20 秒收集一次这些信息,并将它们写入一个带有时间戳的日志文件中,便于后续分析。 ### 2. 设备内存系统监控 (dbg_memory_system_monitor.sh) 这是一个 Shell 脚本,设计为直接在 Android 设备上运行,执行类似的监控功能。它适用于无法使用 ADB 或需要在设备上直接收集数据的场景。脚本具有以下特点: - 自动创建带时间戳的日志文件(存储在设备的 /data 目录下) - 包含权限检查和错误处理机制 - 使用通用的 execute_and_log 函数执行命令并记录结果 - 每次执行命令后都会同步日志文件,确保数据不会丢失 - 同样是每 20 秒收集一次系统信息 ### 3. ADB 设备重启监控 (adb_reboot_monitor.py) 这是一个 Python 脚本,通过 ADB(Android Debug Bridge)监控连接的 Android 设备状态,并在检测到可用设备时尝试重启设备。脚本具有以下特点: - 实时监测 ADB 设备连接状态,包含 recovery 状态 - 自动检查 ADB 和 Python 工具的安装情况 - 尝试获取设备 root 权限后执行重启操作 - 每 120 秒进行一次设备状态检查 脚本运行时会将操作信息输出到控制台,方便用户跟踪设备状态和脚本执行情况。 ### 4. Logcat 日志捕获脚本 (dbg_logcat_capture.sh) 这是一个 Shell 脚本,用于捕获 Android 设备的 Logcat 日志并存储到指定目录,同时具备自动清理旧日志的功能。 ### 5. 设备cpu cores loading拉满载脚本 (dbg_cpu_load_test_all_cores.sh) 这是一个 Shell 脚本,用于将当前设备cpu cores loading拉满载测试。 ### 6. 间隔时间监测设备DDR内存,cpu负载top输出脚本 (adb_monitor.py) 间隔时间监测设备DDR内存,cpu负载top输出。 ### 7. 内存使用百分比测试脚本 (dbg_mem_test_Percentage.sh) 这是一个 Shell 脚本,用于将系统内存消耗到系统MemTotal的百分比以上,主要用于测试设备在高内存负载下的性能表现和稳定性。脚本具有以下特点: - 自动检测系统总内存并计算目标内存使用量 - 通过创建临时文件和保持进程运行的方式占用内存 - 包含完善的自动清理机制,支持Ctrl+C停止并释放内存 - 持续监控内存使用情况,在内存使用下降时自动重新分配内存 - 适用于测试系统在高内存压力下的行为和稳定性 - 有最大尝试次数限制,防止无限循环分配内存 脚本在运行过程中会实时显示当前内存使用百分比,并在达到目标后进入监控模式。 ## 使用方法 1. 确保您的计算机已安装 ADB 并添加到系统路径中 2. 通过 USB 连接 Android 设备并确保已启用 USB 调试 3. 运行脚本. ## 系统要求 ### ADB 设备监控 - Python 3.x - 已安装 ADB - 已启用 USB 调试的 Android 设备 - 部分操作可能需要设备 root 权限 ## 日志分析 生成的日志文件包含丰富的系统信息,可用于: - 识别内存泄漏 - 分析内存使用模式 - 监控 GPU 性能 - 跟踪 CPU 密集型进程 - 诊断系统性能瓶颈 ## 许可证 本项目使用木兰宽松许可证,第2版(Mulan PSL v2)进行许可。详情请参阅 [LICENSE](LICENSE) 文件。 根据木兰宽松许可证的要求,使用本软件时应包含以下版权声明: ``` Copyright (c) [发布年份] [版权持有者名称] Android 系统监控工具 is licensed under Mulan PSL v2. You can use this software according to the terms and conditions of the Mulan PSL v2. You may obtain a copy of Mulan PSL v2 at: http://license.coscl.org.cn/MulanPSL2 THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. See the Mulan PSL v2 for more details. ``` 注意:如果您计划分发或修改本软件,请确保在源文件中包含适当的版权声明,并填写上述模板中的 `[发布年份]` 和 `[版权持有者名称]` 信息。 ## 故障排除 ### 常见问题 1. **无法获取 root 权限** - 确保您的设备已经 root - 检查 su 二进制文件是否正确安装 - 尝试在 adb shell 中手动执行 `su` 命令验证权限 2. **找不到某些系统文件** - 某些路径可能因设备制造商或 Android 版本而异 - 检查您的设备是否支持特定的监控项(如 GPU 信息) - 某些信息可能需要特定的系统权限才能访问 3. **脚本执行错误** - 确保脚本具有正确的执行权限 - 检查 Python 版本(对于 Python 脚本) - 验证 ADB 连接是否正常 ## 贡献指南 我们欢迎任何形式的贡献,包括但不限于: - 报告问题和 bug - 提出新功能建议 - 改进文档 - 提交代码修改 ### 提交问题 如果您发现了 bug 或有新的功能建议,请提交 issue 并包含: - 问题的详细描述 - 复现步骤(如果是 bug) - 设备信息(型号、Android 版本等) - 相关的日志输出 ## 联系方式 如果您有任何问题或建议,欢迎通过以下方式联系我们: - 提交 Git Issue - 发送电子邮件