直接说结论:腾讯云 Ubuntu 官方镜像(以最常见的 20.04 LTS 或 22.04 LTS 为例),在刚创建完实例、未安装任何额外软件的情况下,实际占用的磁盘空间通常在 3GB – 5GB 之间。
但这只是“裸系统”的占用。为了让你更准确地预估资源,我们需要拆解一下这个数据背后的逻辑,以及影响占用的几个关键变量:
1. 为什么会有 3-5GB 的差异?
- 基础文件系统开销:Linux ext4/xfs 文件系统本身有超级块、inode 表等元数据开销,通常占几百 MB。
- 核心组件与库:Ubuntu 默认包含
bash,ssh,systemd,netplan/network-manager,以及大量的 C 标准库(glibc)、Python 运行时、内核模块等。这些加起来就是 2-3GB 的底子。 - 云厂商预装工具:这是关键点。腾讯云的 Ubuntu 镜像通常会预装 Cloud-Init(用于初始化主机名、密钥注入)、LVM 工具集、以及一些基础的诊断脚本。这部分比纯上游 Ubuntu ISO 安装要多出几百 MB 到 1GB 不等。
- 版本差异:
- Ubuntu 18.04:相对老旧,包较小,可能接近 3GB。
- Ubuntu 20.04 / 22.04:依赖库更新,体积略大,通常在 4-5GB。
- Ubuntu 24.04:如果可用,可能会稍大一点,但差异不会特别巨大。
2. 如何验证你当前实例的真实占用?
不要猜,登录进去看最准。SSH 登录后执行以下命令:
# 查看根目录总使用情况
df -h /
# 或者用 du 更精确地看 / 目录下各文件夹大小
du -sh /* | sort -hr
典型输出中,你会看到 /usr(占大头,约 2-3GB)、/var(日志和缓存,初始很小)、/boot(内核文件,几十 MB)等。
3. 容易踩坑的地方:哪些东西会悄悄吃掉你的磁盘?
很多用户以为 50GB 的系统盘只用了 5GB,结果跑几天就满了,原因通常是:
- Swap 分区:腾讯云部分镜像默认创建了 Swap 文件/分区。如果你选了 2GB 内存,可能分了 2GB Swap。虽然它不算在“已用磁盘”里(除非你写满),但它占用了磁盘配额。检查命令:
swapon --show。 - Cloud-Init 日志:初次启动时,
/var/log/cloud-init.log可能会比较大,尤其是调试模式下。 - Docker 默认存储驱动:如果你后续安装了 Docker,默认使用
overlay2,它会直接在宿主机的磁盘上分配空间,且初期可能表现为“已分配但未使用”,但会随着容器运行迅速增长。 - Snap 包:某些新版 Ubuntu 默认通过 Snap 安装了一些应用(如 Firefox、Chrome),Snap 包是隔离的,每个包都会多占几倍空间,且卸载不干净时会残留。建议用
snap list检查一下。
4. 给开发者的建议
- 系统盘选型:如果你打算把数据库、代码仓库、Docker 镜像都放在系统盘上,强烈不建议。系统盘应仅保留操作系统和必要配置。业务数据务必挂载独立的数据盘(云硬盘)。
- 定期清理:
# 清理 apt 缓存 sudo apt clean # 清理旧内核(如果有多个) sudo apt autoremove # 清理 journal 日志(限制最大 100M) sudo journalctl --vacuum-size=100M - 监控告警:在腾讯云控制台设置云监控告警,当磁盘使用率超过 80% 时通知你,避免服务因磁盘写满而崩溃。
总结:放心按 5GB 左右预留系统盘空间即可,真正决定你能跑多少业务的,是你挂载的那块数据盘的大小和 IOPS 性能。
云技术博客