主机资源要求
了解 SmartAgent 的最低主机资源要求,确保正确部署和运行。
概述
为了确保 SmartAgent 正常运行并提供准确的数据,您的主机需要满足以下资源要求。以下数据基于 9.0.0 版本。
CPU
- 最低要求: 4 核 CPU
内存
SmartAgent 本身对内存的占用非常小。应用探针(如 javaagent)作为业务进程的子线程运行,会根据应用的复杂度和监控需求占用额外的内存资源。若原应用已设置内存限制,建议在原限制的基础上重新评估。
信息
以下推荐值为通用参考,具体需结合实际应用启动速度与负载测试结果调整。
推荐计算公式:
新增内存需求 = 256MB + (原内存限制 × 10%)
Java 命令行示例
# 原始
java -Xmx1024m -jar app.jar
# 调整后
java -Xmx1356m -jar app.jar
Pod 内存限制
# 原始
resources:
limits:
memory: "1024Mi"
requests:
memory: "1024Mi"
# 调整后
resources:
limits:
memory: "1356Mi"
requests:
memory: "1356Mi"
磁盘空间要求
| 系统 | 安装目录 | 运行时目录 |
|---|---|---|
| linux | root安装:/opt/bonree/apm 非root安装:$HOME | root安装:/var/lib/bonree/apm 非root安装:$HOME/.smartagent |
| windows | C:\Program Files (x86)\bonree | C:\ProgramData\bonree |
信息
其中在宿主机上安装所需的额外 20GB 空间用于临时存储主机进程崩溃时产生的 core 文件。
正常情况下,不会有空间需求,如果需要彻底关闭进程崩溃分析功能,详细参见:安装参数 -> disable-dumpproc
| 目录名称 | linux x86_x64 | linux arm | windows |
|---|---|---|---|
| 安装目录(除了logs、cache) | ~ 550MB | ~ 380MB | ~ 320MB |
| logs | 宿主机Root安装:~ 22.8GB 容器化部署或非Root安装:~ 2.8GB | 宿主机Root安装:~ 22.8GB 容器化部署或非Root安装:~ 2.8GB | ~ 2.1GB |
| cache | ~(探针实例数 + 2) * 100MB | ~(探针实例数 + 2) * 100MB | ~(探针实例数 + 1) * 100MB |
| 运行时目录 | ~ 1MB | ~ 1MB | ~ 1MB |
| 合计 | 宿主机Root安装:~ 23.4G +(探针实例数 + 2) * 100MB 容器化部署或非Root安装:~ 3.4G +(探针实例数 + 2) * 100MB | 宿主机Root安装:~ 23.4G +(探针实例数 + 2) * 100MB 容器化部署或非Root安装:~ 3.4G +(探针实例数 + 2) * 100MB | ~ 2.4GB +(探针实例数 + 2) * 100MB |
logs目录具体磁盘空间要求
| 目录名称 | linux | windows |
|---|---|---|
| process/java/php/containers等... | ~ 2GB | ~ 2GB |
| machine | ~ 120MB | ~ 80MB |
| ebpfagent | ~ 200MB | 0 |
| profiling-agent | ~ 40MB | 0 |
| logsagent | ~ 400MB | 0 |
| agentdumpproc (仅宿主机Root安装需要) | ~20GB(崩溃发生时,会产生临时的core文件(文件大小由崩溃进程内存占用大小决定),在崩溃分析结束后会进行删除) | 0 |
| npd | ~ 40MB | 0 |
| 合计 | 宿主机Root安装:~ 22.8GB 容器化部署或非Root安装:~ 2.8GB | ~ 2.1GB |
cache目录
当网络连接不可用时,采集到的数据会暂时缓存到该目录中。一旦网络恢复,将从该目录读取缓存数据并上传至服务器。
此外,该目录还用于临时存储 javaagent 内存 dump 功能产生的 dump 文件。
正常情况下,该目录不会占用过多的磁盘空间。
| 目录名称 | linux | windows |
|---|---|---|
| 应用探针缓存 | ~ 探针实例数 * 100MB | ~ 探针实例数 * 100MB |
| machine | ~ 100MB | ~ 100MB |
| logsagent | ~ 100MB | 0 |
| 合计 | ~(探针实例数 + 2) * 100MB | ~(探针实例数 + 1) * 100MB |
日志清理策略
注意
serverless部署模式下,不支持该策略。
应用探针日志的数量,会随着目标监控应用的重启而增加。 为避免日志文件过多占用大量磁盘空间,SmartAgent 采用组合条件策略自动清理日志文件,确保磁盘空间保持在合理范围内。
- 空间限制:日志目录整体空间和
agentdumpproc目录都会受到总容量上限约束,超出会触发删除(默认各2GB,合计4GB)。 - 时间限制:日志文件超过14天数会被清理。
- 文件大小限制:单个日志文件如果过大,会被自动清空,避免占用过多资源。
- 数量限制:目录下的文件和子目录总数超过上限时会清理旧的文件。
- 优先级:在清理时,优先删除最旧的文件。
- 特殊规则:
- 部分目录(如 machine、install、logsagent 等)不纳入上述限制(这些目录有独立的空间限制且文件数量相对较少)。
- coredump 文件,仅清理超过 30 分钟的文件(由于不同应用产生的 core 文件大小差异较大,可能会超出限制,因此在分析过程中需要保留一段时间,避免被误清理)。
- 紧急清理:当日志磁盘剩余空间过低时,会触发清理,尽量释放可用空间。