COSFS2 提供了丰富的配置参数供用户使用,如认证鉴权、并发数、缓存模式等。您可以根据使用场景的不同,灵活调整各配置项的值。本文档旨在全面介绍 COSFS2 的配置方法与各项参数的含义,帮助用户快速理解并安全高效地使用该工具。
配置方法
方式一:命令行方式
通过命令行方式指定的配置参数优先级最高,但只支持常用的配置参数。您可以通过 cosfs2 --help 或 cosfs2 -h 命令查看 cosfs2 支持的完整配置参数,并在实际的挂载命令中修改其中一个或多个配置参数。
如下是一个简单的通过命令行指定参数并挂载 COSFS2 示例:
该命令将 COS 桶 cos://example-1250000000.cos.ap-guangzhou.myqcloud.com 挂载至本地目录 /mnt/test,指定 uid,gid 为 0,fuse_options 为 allow_other,并且开启了内存流式写入模式。您需要将 your-secret-id 和 your-secret-key 替换为自己的 secret-id 和 secret-key,请前往 API 密钥控制台 获取。
[root@k8s-node1 cosfs2-1.1.0.51]# cd bin/[root@k8s-node1 bin]# ls -ltotal 83428-rwxr-xr-x 1 root root 85428758 Dec 5 19:13 cosfs2[root@k8s-node1 bin]# /data/cosfs2-1.1.0.51/bin/cosfs2 --uid=0 --gid=0 --o allow_other --cos-secret-id=your-secret-id \\--cos-secret-key=your-secret-key \\--enable-streaming-writes=true \\cos://example-1250000000.cos.ap-guangzhou.myqcloud.com /mnt/test
方式二:配置文件方式
COSFS2 支持 yaml 格式的配置文件,配置项按照分类组织为两层架构:第一层为配置大类,第二层为具体配置项。在 COSFS2 的安装包中,提供了一个简单的配置文件样例,您可以根据需要修改或添加配置项。部分配置项支持热加载,其余配置项则需重新挂载后生效。
如下是一个 COSFS2 配置文件样例, 以版本 cosfs2-1.1.0.51 为例,该配置文件的默认存放路径为 /data/cosfs2-1.1.0.51/conf/cosfs2.yaml :
app-name: "cosfs2"cos:secret-id: "********"secret-key: "********"logging:file-path: "/data/cosfs2-1.1.0.51/log/cosfs2.log"format: textseverity: tracefile-cache:cache-dir: "/data/cosfs2-1.1.0.51/cachedir"max-size-mb: 20480file-system:temp-dir: "/data/cosfs2-1.1.0.51/tmp"fuse-options: "allow_other"foreground: false
完成配置后,您可以通过命令挂载 COS 桶到本地目录。
如下是一个典型的通过配置文件方式挂载 COSFS2 示例,您需要显式指定 COSFS2 的配置文件路径。
[root@k8s-node1 cosfs2-1.1.0.51]# cd bin/[root@k8s-node1 bin]# ls -ltotal 83428-rwxr-xr-x 1 root root 85428758 Dec 5 19:13 cosfs2[root@k8s-node1 bin]# /data/cosfs2-1.1.0.51/bin/cosfs2 --config-file=/data/cosfs2-1.1.0.51/conf/cosfs2.yaml \\cos://example-1250000000.cos.ap-guangzhou.myqcloud.com /mnt/test
注意:
命令行方式指定的配置参数的优先级高于配置文件的方式,但配置文件支持的配置参数更完整。如果您在命令行和配置文件中修改了同一个配置参数的默认值,那么实际生效的是命令行中指定的值。详细挂载说明参照 挂载存储桶
配置项说明
下文将按配置分类,对 COSFS2 支持的主要配置项进行逐一说明。
auditlog 相关配置
COSFS2 支持记录文件系统和桶相关操作的审计日志, 用于对接某些对安全要求较高的使用场景。审计日志相关配置参数如下表所示。
配置项 | 必填参数 | 数据类型 | 取值范围 | 配置项说明 | 支持热加载 |
enable | 否 | bool | true/false 默认:false | 文件系统操作和桶操作审计日志开关,开启审计日志后性能会受到影响。false 表示关闭审计日志功能 | 否 |
file-path | 否 | string | NA 默认:空 | 审计日志文件的绝对路径 | 是 |
log-rotate.backup-file-count | 否 | int | >= 1 默认:10 | 存储的审计日志文件最大个数限制。单位:个 | 是 |
log-rotate.compress | 否 | bool | true/false 默认:true | 是否使用 GZIP 压缩,true 表示压缩日志文件 | 是 |
log-rotate.max-age-day | 否 | int | >= 1 默认:30 | 审计日志保存的最大天数限制。单位:天 | 是 |
log-rotate.max-file-size-mb | 否 | int | >= 1 默认:100 | 审计日志的单个文件大小限制。单位:MB | 是 |
method | 否 | []string | NA 默认:空 | 需要审计的方法名列表,指定文件系统操作和桶操作具体方法名记录审计日志。配置为空则表示审计所有的方法 | 否 |
注意:
目前支持审计的文件系统方法名有:StatFS、LookUpInode、GetInodeAttributes、SetInodeAttributes、ForgetInode、BatchForget、MkDir、MkNode、CreateFile、CreateSymlink、Rename、RmDir、Unlink、OpenDir、ReadDir、ReadDirPlus、ReleaseDirHandle、OpenFile、ReadFile、WriteFile、FlushFile、ReleaseFileHandle、ReadSymlink 等。
桶操作方法名有:NewReader、CreateObject、CreateObjectChunkWriter、CopyObject、DeleteObject、FinalizeUpload、ListObjects、StatObject、UpdateObject 等。
COS 相关配置
COSFS2 使用 COS SDK 来与 COS 存储桶进行交互。COS 相关配置参数如下表所示。
配置项 | 必填参数 | 数据类型 | 取值范围 | 配置项说明 | 支持热加载 |
copypart-size | 否 | int | [5, 5120] 默认:10 | COS 对于超过5GB的文件不支持简单拷贝,只能进行分块拷贝,这个配置项用于指定拷贝时单个分块的大小上限。单位:MB | 是 |
enable-sts | 否 | bool | true/false 默认:false | 否 | |
max-in-progress-streaming-write-files | 否 | int | >= 1 默认:16 | 并发进行内存流式写入的文件最大数量限制。若超过该限制,后续写入请求会回退到磁盘文件写入模式。单位:个 | 是 |
max-streaming-write-buffer-count-per-file | 否 | int | [2, 1024] 默认:8 | 单个文件内存流式写入时使用的 buffer 最大数量限制。单位:个 | 是 |
max-streaming-write-buffer-size-per-file | 否 | int | [1, 5120] 默认:10 | 内存流式写入模式中单个 buffer 的内存大小限制,也等于上传到 COS 使用的分块大小。单位:MB COS 后端限制最大 10000 个分块,这个值决定内存流式写入模式默认最大支持文件大小为 10M * 10000 ≈ 97.65G | 是 |
max-parallel-copypart | 否 | int | [1, 10000] 默认:8 | 控制 CopyObject 接口中的并发 copy 请求线程数。单位:个 | 是 |
max-parallel-head-for-list | 否 | int | [1, 10000] 默认:20 | 控制 ListObject 接口中的并发 head 请求线程数。单位:个 | 是 |
multipart-size | 否 | int | [5, 5120] 默认:10 | 磁盘文件写入模式,上传到 COS 使用的分块大小。单位:MB。 COS 后端限制最大 10000 个分块,这个值决定磁盘文件写入模式默认最大支持文件大小为 10M * 10000 ≈ 97.65G | 是 |
owner-appid | 否 | int | 腾讯云账号的 APPID 默认:空 | 当 enable-sts 为 true 且 sts.provider 为空时,用于指定 COS 存储桶所属账号的 APPID,此时该参数为必填项 | 否 |
request-timeout-seconds | 否 | int | >= 1 默认:30 | COS 请求超时时间。单位:秒 | 否 |
retry-count-max | 否 | int | 无限制 默认:100 | COS 请求返回错误码 5XX 时,最大重试次数限制。单位:次。 retry-count-max 为 0 时,对所有请求均不重试 retry-count-max 为正数时,对返回错误码 503 的请求进行无限重试,返回其它 5XX 错误码的请求会根据该配置进行有限重试 retry-count-max 为负数时,对所有返回错误码 5XX 的请求(包含503)进行无限重试 | 是 |
retry-interval-ms-max | 否 | int | >= 1 默认:8000 | 返回错误码 5XX 的请求(包含503)的最大重试时间间隔。单位:毫秒 | 是 |
retry-interval-ms-min | 否 | int | (1, retry-interval-ms-max) 默认:500 | 返回错误码 5XX 的请求(包含503)的最小重试时间间隔。单位:毫秒 | 是 |
secret-id | 是 | string | NA 默认:空 | 用于挂载 COS 存储桶的账号的 secret-id | 是 |
secret-key | 是 | string | NA 默认:空 | 用于挂载 COS 存储桶的账号的 secret-key | 是 |
sts.duration-seconds | 否 | int | [1, 43200] 默认:43200 | 当 enable-sts 为 true 时,指定STS密钥过期时长。单位:秒 | 是 |
sts.end-point | 否 | string | NA 默认:sts.tencentcloudapi.com | 当 enable-sts 为 true 时,指定 STS 的域名 | 是 |
sts.provider | 否 | string | NA 默认:空 | 当 enable-sts 为 true 时,指定 STS 的来源类型,为 "CvmRole" 、"AwsExternal" 或为空 | 是 |
sts.region | 否 | string | NA 默认:空 | 当 enable-sts 为 true 时,指定 COS 存储桶的 region | 是 |
sts.scheme | 否 | string | https/http 默认:https | 当 enable-sts 为 true 时,指定访问 STS endpoint 的协议 | 是 |
upload-worker-num | 否 | int | [1, 10000] 默认:8 | 采用磁盘文件写入模式,上传单个文件到 COS 的并发数限制。单位:个 | 是 |
use-https | 否 | bool | true/false 默认:false | COS SDK 是否使用 https。false 表示不使用 https | 是 |
user-agent-extra-info | 否 | string | len <= 256 默认:空 | 在 user-agent 后追加不超过256字节的附加信息,形如 tencentyun-cosfs2-v5-{version} (extra info) | 否 |
http.dial-timeout-seconds | 否 | int | >= 1 默认:30 | COS SDK 建立传输连接的超时时间限制。单位:秒 | 否 |
http.idle-conn-timeout-seconds | 否 | int | >= 1 默认:90 | COS SDK 空闲连接在连接池中保留的最长时间限制。单位:秒 | 否 |
http.max-conns-per-host | 否 | int | >= 1 默认:1024 | COS SDK 单个 COS endpoint 允许建立的最大并发连接数限制。单位:个 | 否 |
http.max-idle-conns | 否 | int | >= 1 默认:2048 | COS SDK 保持的最大空闲连接总数限制。单位:个 | 否 |
http.max-idle-conns-per-host | 否 | int | >= 1 默认:1024 | COS SDK 单个 endpoint (例如 example-1250000000.cos.ap-beijing.myqcloud.com) 保持的最大空闲连接数限制。单位:个 | 否 |
mem-cache 相关配置
COSFS2 支持使用内存来加速顺序读请求。mem-cache 基于文件的 open 句柄,使用内存滑动窗口缓存文件顺序读数据。当 mem-cache 启用时,其优先级高于 file-cache。mem-cache 相关配置参数如下表所示。
配置项 | 必填参数 | 数据类型 | 取值范围 | 配置项说明 | 支持热加载 |
block-size-mb | 否 | int | [1, 512] 默认:4 | 单个内存缓存块的大小限制,小于该值的文件不会被缓存至 mem-cache。单位:MB | 否 |
capacity-blocks | 否 | int | [0, 65536] 默认:0 | mem-cache 占用缓存块的最大数量限制。单位:个 0 代表不启用 mem-cache | 否 |
max-blocks-per-handle | 否 | int | [1, 8192] 默认:128 | mem-cache 为单个文件句柄提供的最大缓存块数量。单位:个 | 否 |
max-parallel-downloads | 否 | int | [1, 65536] 默认:128 | mem-cache 全局的最大下载并发数限制。单位:个 | 否 |
max-parallel-downloads-per-handle | 否 | int | [1, 8192] 默认:16 | mem-cache 单个文件句柄的最大下载并发数限制。单位:个 | 否 |
exclude-pattern | 否 | string | NA 默认:空 | 黑名单正则规则,空值表示该配置不生效。若该配置值非空,匹配该规则的文件将不会被缓存至 mem-cache | 否 |
include-pattern | 否 | string | NA 默认:空 | 白名单正则规则,空值表示该配置不生效。若该配置值非空,匹配该规则的文件将会被缓存至 mem-cache(当 include-pattern 非空时,exclude-pattern 将被忽略) | 否 |
file-cache 相关配置
COSFS2 支持使用本地磁盘文件来缓存从远端 COS 读取的数据,从而加速读请求。file-cache 相关配置参数如下表所示。
配置项 | 必填参数 | 数据类型 | 取值范围 | 配置项说明 | 支持热加载 |
cache-dir | 否 | string | NA 默认:空 | 该功能会将 COS 读取的内容写入该目录下的本地磁盘文件中,后续通过本地磁盘文件加速读请求 当 file-cache 配置的 max-size-mb 值不为 0且 cache-dir 不为空,本地磁盘文件缓存才会生效 file-cache 会自动下载整个文件到该目录下,超过 max-size-mb 配置大小的文件不会下载 若某文件已被缓存至本地磁盘,当该文件在远端 COS 被并发删除时,COSFS2客户端无法实时感知此变更,不会主动立即清理本地缓存文件,file-cache 会通过 LRU 策略对缓存文件进行淘汰 | 否 |
cache-file-for-range-read | 否 | bool | true/false 默认:true | 是否为随机读缓存整个文件 | 否 |
clean-up-cache-dir-on-mount | 否 | bool | true/false 默认:false | 挂载时自动清理当前桶的缓存目录,false 表示不清理 | 否 |
download-chunk-size-mb | 否 | int64 | >= 1 默认:4 | 下载远端 COS 文件到本地 file-cache 时,并发下载的分块大小限制。单位:MB | 否 |
enable-o-direct | 否 | bool | true/false 默认:false | false 表示写入本地磁盘文件对应的 open 请求不带参数 syscall.O_DIRECT,即不使用操作系统 page cache 缓存 | 否 |
enable-parallel-downloads | 否 | bool | true/false 默认:true | 是否并发从远端 COS 下载文件到本地 file-cache 中。true 表示使用并发下载 | 否 |
max-parallel-downloads | 否 | int64 | >= 1 默认:max(16, 2*runtime.NumCPU()) | 所有文件的最大总并发下载数。单位:个 | 否 |
max-size-mb | 否 | int64 | >= -1 默认:102400 | cache-dir 目录最大占用空间大小,单位:MB。-1 表示不限制空间大小。 卸载或重启进程,目录中的数据仍然存在于 cache-dir 目录中。需要在每次卸载或重启进程前手动删除 cache-dir 缓存目录中的数据,或者配置 clean-up-cache-dir-on-mount 为 true | 否 |
parallel-downloads-per-file | 否 | int64 | >= 1 默认:8 | 单文件最大并发下载数。单位:个 | 否 |
sequential-read-size-mb | 否 | int | >= 1 默认:4 | 当 mem-cache 与 file-cache 均未命中时,需直接从远端 COS 读取数据。该参数用于限制此类场景下,单次请求读取远端 COS 的数据长度上限,单位:MB | 否 |
write-buffer-size | 否 | int64 | >= 4096 默认4194304 | 在 enable-o-direct 生效时,将远端 COS 下载内容,写入本地 file-cache 文件时使用的 buffer 大小。需要与 4096 对齐,单位:Byte 建议小于或等于 download-chunk-size-mb | 否 |
max-prefetch-worker-num | 否 | int | [1, 1024] 默认:10 | 预取任务工作线程数。单位:个 | 否 |
prefetch-on-mount-path | 否 | string | NA 默认:空 | 挂载时预取的目标目录名 | 否 |
prefetch-on-mount-reg | 否 | string | NA 默认:空 | 挂载时预取所匹配的正则表达式 | 否 |
exclude-pattern | 否 | string | NA 默认:空 | 黑名单正则规则,空值表示该配置不生效。若该配置值非空,匹配该规则的文件将不会被缓存至 file-cache | 否 |
include-pattern | 否 | string | NA 默认:空 | 白名单正则规则,空值表示该配置不生效。若该配置值非空,匹配该规则的文件将会被缓存至 file-cache(当 include-pattern 非空时,exclude-pattern 将被忽略) | 否 |
file-system 相关配置
COSFS2 将远端 COS 桶挂载到本地目录,应用就像访问本地文件系统一样访问 COS 桶里的数据。文件系统相关配置参数如下表所示。
配置项 | 必填参数 | 数据类型 | 取值范围 | 配置项说明 | 支持热加载 |
check-bucket-works-on-mount | 否 | bool | true/false 默认:true | 挂载时是否检查桶可用。true 表示挂载时检查,false 表示挂载时不检查,推迟到后续业务请求时检查 | 否 |
dir-mode | 否 | octal | NA 默认:0755 | 新建目录默认权限 | 否 |
disable-parallel-lookup-unknown-type | 否 | bool | true/false 默认:true | 未知类型是否启用并发 lookup 查询。true 表示不启用并发 lookup | 否 |
file-mode | 否 | octal | NA 默认:0644 | 新建文件默认权限 | 否 |
fuse-options | 否 | string | NA 默认:空 | fuse 挂载时的初始化参数 使用 allow_other 即可允许除 mount 用户外的其他用户访问挂载点 | 否 |
gid | 否 | int64 | [0, 65536]或-1 默认:-1 | 创建文件/目录时,指定文件/目录所属用户组。若该配置小于 0 则使用进程所属 GID,大于等于 0 则使用该配置 | 否 |
handle-sigterm | 否 | bool | true/false 默认:true | 是否响应操作系统 SIGTERM 信号。true 表示响应 | 否 |
ignore-truncate-err-for-streaming-writes | 否 | bool | true/false 默认:true | 是否忽略内存流式写入时,truncate 操作报错,true 表示忽略错误,此时 truncate 并不会生效 | 否 |
kernel-attr-ttl-secs | 否 | int | >= 0或者 -1 默认:60 | 操作系统内核缓存元数据属性的时长,过期会发起 getInodeAttr 请求。-1 表示不过期。单位:秒 | 否 |
kernel-dentry-ttl-secs | 否 | int | >= 0或者 -1 默认:60 | 操作系统内核缓存 name/dentry 映射的时长,过期会发起 lookup 请求。-1 表示不过期。单位:秒 | 否 |
kernel-list-cache-ttl-secs | 否 | int | >= 0或者 -1 默认:0 | opendir 时,操作系统内核目录 entry 在 page cache 中的时长,超过时则在下次 opendir 请求时重新校验。-1 表示不过期。单位:秒 | 否 |
precondition-errors | 否 | bool | true/false 默认:true | 如果正在同步或读取的对象被其他并发进程修改,则映射错误码为 syscall.ESTALE。false 表示忽略该报错 | 否 |
readdir-entry-limit | 否 | int64 | [0, 100000000] 默认:20000 | readdir/readdirplus 对 COS 做 ListObjects 操作时获取的 entry 数目限制,超出该限制值,请求会报错。单位:个 | 否 |
rename-dir-limit | 否 | int64 | [0, 100000000] 默认:0 | 目录 rename 时,包含子目录/子文件的数量限制,超过该限制值,请求会报错,不允许 rename 目录。单位:个 | 否 |
temp-dir | 否 | string | NA 默认:空 | 使用磁盘文件写入模式时,文件会写入到该目录 为空则会使用系统默认的临时目录,例如/tmp | 否 |
uid | 否 | int64 | [0, 65536] 或-1 默认:-1 | 创建文件/目录时,指定文件/目录所属用户。若该配置小于 0 则使用进程属主 UID,大于等于 0 则使用该配置 | 否 |
implicit-dirs | 否 | bool | true/false 默认:true | 是否兼容目录不以空对象存在的情况。开启后会用 list 请求探测目录,否则会用 head 请求探测目录。通过 COSFS2 创建的目录都会以空对象的形式存在于 COS 桶中。 | 否 |
lookup-explicit-dirs-first | 否 | bool | true/false 默认:true | 开启后 lookup 时会先用 head 请求探测目录,若不存在再用 list 请求探测目录,仅在 file-system.implicit-dirs = true 时生效。 | 否 |
enable-streaming-out-of-order-fallback-to-tmp-file | 否 | bool | true/false 默认:false | 内存流式写入模式不支持随机写。内核写请求数据乱序到达时,是否允许内存流式写入模式转为磁盘文件写入模式。true 表示不满足内存流式写入条件时,自动使用磁盘文件写入模式加速写请求 | 否 |
enable-streaming-writes | 否 | bool | true/false 默认:true | 是否采用内存流式写入。true 表示使用内存流式写入模式,false 表示采用磁盘文件写入模式 推荐配置为 true。内存流式写入模式性能高效,但不支持随机写;正在内存流式写入且尚未flush/close 的文件,无法同时被读取,只能在flush/close 后才能读取 采用磁盘文件写入模式加速写请求时,会占用本地 temp-dir 目录空间,具体占用空间大小和并发写入数据量(不 flush/close)有关系,当一个文件 close/flush 后不会再占用本地 temp-dir 目录空间。由于某些本地文件系统不支持设置目录 quota,所以 COSFS2 无法主动限制 temp-dir 文件夹占用空间大小,业务方需要根据具体业务评估并规划分配 temp-dir 目录足够空间 | 否 |
only-dir | 否 | string | NA 默认:空 | 指定后所有文件操作在桶的子目录进行。子目录是一个相对路径,路径的第一个字符不带"/",例如:only-dir = "dir/subdir/” | 否 |
enable-readdirplus | 否 | bool | true/false 默认:false | 是否支持 readdirplus,false 代表不支持 | 否 |
disable-write-back-caching | 否 | bool | true/false 内存流式写入模式默认:true 磁盘文件写入模式默认:false | 是否关闭内核 writeback cache,false 代表不关闭 | 否 |
logging 相关配置
COSFS2 支持记录详细的日志,用于高效定位问题。日志相关配置参数如下表所示。
配置项 | 必填参数 | 数据类型 | 取值范围 | 配置项说明 | 支持热加载 |
file-path | 是 | string | NA 默认:空 | 日志文件的绝对路径 | 否 |
format | 否 | string | text/json 默认:text | 日志文件的格式,可选 text 或 json | 否 |
log-rotate.backup-file-count | 否 | int64 | >= 1 默认:10 | log 文件个数。单位:个 | 否 |
log-rotate.compress | 否 | bool | true/false 默认:true | 是否使用 gzip 压缩日志文件。true 表示压缩 | 否 |
log-rotate.max-file-size-mb | 否 | int64 | >= 1 默认:100 | log 文件 rotate 前最大 size。单位:MB | 否 |
severity | 否 | string | trace/debug/info/warning/error/off 默认:error | 日志打印级别,配置项描述如下: trace:跟踪 debug:调试 info:信息 warning:警告 error:错误 off:关闭 | 是 |
metadata-cache 相关配置
COSFS2 支持多种元数据 cache,包括 stat-cache、type-cache 等,用于加速文件系统元数据操作。元数据 cache 相关配置参数如下表所示。
配置项 | 必填参数 | 数据类型 | 取值范围 | 配置项说明 | 支持热加载 |
ttl-secs | 否 | int64 | >= 0 默认:300 | 元数据 cache 中的条目最长过期时间,0 表示不使用元数据缓存。单位:秒 | 否 |
stat-cache-max-size-mb | 否 | int64 | >= 0 默认:128 | stat-cache 保存元数据信息。stat-cache 最大占用多少内存,0 表示不使用 stat-cache。单位:MB | 否 |
type-cache-max-size-mb | 否 | int64 | >= 0 默认:0 | type-cache 用于快速判断一个对象是文件或目录。type-cache 最大占用多少内存,0 表示不使用 type-cache。单位:MB | 否 |
enable-nonexistent-type-cache | 否 | bool | true/false 默认:false | lookup 某文件不存在时,会在 type-cache 缓存中创建一个 nonexistent 类型的缓存项。这也意味着在该缓存项过期前,无法感知到新创建的同名文件/目录。false 表示关闭该缓存 | 否 |
process 相关配置
COSFS2 支持进程级别的配置,用于限制进程资源使用。进程相关配置参数如下表所示。
配置项 | 必填参数 | 数据类型 | 取值范围 | 配置项说明 | 支持热加载 |
runtime-memory-limit-mb | 否 | int64 | >= 256 or -1 默认:1024 | COSFS2 进程内存软上限(非硬上限),超过该阈值,会尽量加速内存垃圾回收。-1 表示不设置上限。单位:MB。 该配置影响性能,不宜设置太小 | 否 |
注意:
该配置的默认值仅适用于 COSFS2 默认配置,如果您调整了以下配置项,建议重新评估此值,避免实际内存用量长期超过该上限导致频繁垃圾回收影响性能:
COS 相关配置内存计算公式:max-in-progress-streaming-write-files * max-streaming-write-buffer-count-per-file * max-streaming-write-buffer-size-per-file,单位:MB
mem-cache 相关配置内存计算公式:block-size-mb * capacity-blocks,单位:MB
metadata-cache 相关配置内存计算公式:stat-cache-max-size-mb,单位:MB
建议将 runtime-memory-limit-mb 设置为上述三者之和,并适当预留内存余量
其它配置
配置项 | 必填参数 | 数据类型 | 取值范围 | 配置项说明 | 支持热加载 |
app-name | 否 | string | NA 默认:空 | 使用挂载点的应用名,例如:COSFS2 | 否 |
foreground | 否 | bool | true/false 默认:false | COSFS2 是否运行在前台。false 表示运行在后台 | 否 |