GBase8a使用系统表统计表空间各目录大小

本文详细介绍了如何利用系统调用statfs和lstat来统计磁盘使用情况。在性能_schema.CLUSTER_DISK_USAGE_INFO表中,SIZE、USED和AVAIL信息依赖于statfs调用,而DIR_SIZE列则是通过lstat获取,尤其在大量文件的场景下可能效率较低。通过strace命令跟踪gbased进程的系统调用来验证这一过程。
摘要由CSDN通过智能技术生成
performance_schema.CLUSTER_DISK_USAGE_INFO 的统计走的是系统调用,通过系统函数
statfs 统计空间容量,而不是 du 命令。
执行步骤是:
1 )查询 CLUSTER_DISK_USAGE_INFO 首先是将命令下发到各个节点,查询各个节点的
performance_schema.DISK_USAGE_INFO 表,然后向 gcluster 层汇总
2 performance_schema.DISK_USAGE_INFO 表信息通过系统命令 statfs 统计
系统表 performance_schema.CLUSTER_DISK_USAGE 确认 SIZE USED AVAIL 几列走的是 statfs
系统调用。
DIR_SIZE 列走的是 lstat 调用,会排查每个文件的大小,在表多、列多的场景下效率较慢。
strace
-
tT
-
f
-
e trace
=fstat
-
o du.log du /opt/gnode/userdata/gbase/
strace
-
tT
-
f
-
e trace
=fstat,lstat,statfs du /opt/gnode/userdata/gbase/
strace
-
tT
-
f
-
e trace
=lstat
-
p
`
pidof gbased
`
strace
-
tT
-
f
-
o 1.txt
-
e trace
=lstat
-
p
`
pidof gbased
`
strace
-
tT
-
f
-
o 2.txt
-
e trace
=newfstatat du /opt/gnode/userdata/gbase/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值