You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何列出单节点Cassandra实例中占用空间最大的表?

找出Cassandra单节点实例中占用空间最大的表

针对单节点的Cassandra测试实例,有两种简单直接的方法可以定位占用空间最大的表:

方法1:使用nodetool tablestats命令

这是Cassandra自带的工具,能直接输出各表的详细统计信息,包括空间占用:

  • 登录到Cassandra服务器,执行命令:
    nodetool tablestats
    
  • 在输出结果中,找到每个表对应的Space used (live)(实际存活数据占用空间)和Space used (total)(包含已标记删除数据的总占用空间)字段。
  • 对比所有表的这两个数值,就能找出占用空间最大的表。如果需要更清晰的排序,可以把输出内容导入文本编辑器,或者用管道命令过滤排序:
    nodetool tablestats | grep -E "(Keyspace :|Table :|Space used)" | grep -B2 "Space used"
    

方法2:直接查看数据目录的磁盘占用

Cassandra的数据默认存储在/var/lib/cassandra/data目录下(如果部署时修改过路径,替换为对应路径即可),每个Keyspace对应一个子目录,每个表又对应Keyspace下的一个子目录:

  • 执行磁盘统计命令:
    du -sh /var/lib/cassandra/data/*/*
    
  • 命令会输出每个表目录的总占用空间,Linux/Unix系统可以追加排序参数,按人类可读的大小排序后快速定位最大表:
    du -sh /var/lib/cassandra/data/*/* | sort -h
    

注意事项

  • 执行TRUNCATE命令后,Cassandra会标记数据为删除,但实际磁盘空间回收需要等待compaction完成。如果需要立即回收空间,可以在TRUNCATE后执行nodetool compact <keyspace_name> <table_name>手动触发压缩。
  • 因为是测试数据库,TRUNCATE操作风险较低,但执行前务必确认表名无误,避免误删重要数据。

内容的提问来源于stack exchange,提问作者darrin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 05:52:48