查看云服务器磁盘空间,最直接的办法是登录服务器执行 df -h 命令,十秒钟就能看到整体使用率;如果你不想敲命令,云厂商控制台里的监控页面同样能查,而且更直观。
磁盘空间告急是云服务器最常见的事故原因之一,日志写满、临时文件堆积、数据盘扩容后未分区,任何一个环节出问题都可能导致网站打不开或数据库宕掉,与其等报警,不如先搞清楚自己这台机器到底有多少空间、用在了哪里、还剩多少余量。
云服务器磁盘空间怎么看?三种常用方法对比
先回答最核心的问题:怎么看,根据你的使用习惯和运维水平,有三种主流方式,我按推荐程度排个序。
SSH命令行查询(最准确)
只要你有一台Linux系统的云服务器,SSH登录后执行这条命令:
df -h
输出结果里,Filesystem 是分区名,Size 是总容量,Used 是已用,Avail 是可用,Use% 是使用率,Mounted on 是挂载点,重点关注 根分区和 /data 这类数据盘分区的 Use%,超过 80% 就该着手清理了。
如果需要查看inode占用,执行 df -i,inode是文件索引节点,很多用户遇到过磁盘没满但无法创建文件的情况,那多半就是inode耗尽了,小文件特别多的目录(比如缓存目录、邮件队列)最容易触发这个问题。
云厂商控制台查看(适合新手)
如果你不想登录服务器,或者只是偶尔看一眼,直接打开你的云服务器管理后台。
以简米云为例,路径是:ECS实例列表 → 点击实例ID → 监控,页面里会展示磁盘使用率的曲线图,能看最近24小时、7天、30天的趋势,酷番云用户在 轻量应用服务器或云服务器CVM → 监控
页面也能看到同样的信息,控制台能告诉你”什么时候开始增长”,但看不到”哪个目录占了大头”,所以定位具体文件还是得用命令。
监控告警工具(防患于未然)
手动查看总归是被动的,行业共识是,磁盘使用率超过85%后,触发告警到实际处理往往存在延迟,而这期间可能已经影响业务,用开源工具如 node_exporter + Prometheus,或者云厂商自带的阈值告警,都能做到自动通知,配置一个磁盘使用率超过 75% 的告警规则,给自己留出缓冲时间,比事后抢救要从容得多。
linux查看磁盘空间的常用命令详解
“linux查看磁盘空间”是运维场景里的高频需求,下面这几个命令按使用频率排列,全部都是实打实能救命的。
df -h 和 df -i 的区别
df -h 看容量,df -i 看inode,两者缺一不可,执行 df -h 的时候,输出顶部的 tmpfs 是内存文件系统,不用管它;真正需要关心的是挂载在 和 /data 下的设备。Use% 显示超过90%,说明你的根分区已经非常危险了。
df -i 的输出格式类似,但重点看 IUse% 这一列,当inode使用率达到100%,即使磁盘还有空余,系统也会报 “No space left on device”,这个坑很多人踩过,解决方案是找出小文件密集的目录删掉一部分,或者重新格式化并加大inode数量。
du -sh 定位大文件
df 告诉你总量和剩余,但不知道东西在哪儿,这时用 du 来排查:
du -sh / 2>/dev/null
这条命令会列出根目录下每个一级目录的占用大小,然后逐级进入,du -sh /var/log/,直到定位到某个日志文件或者缓存目录,如果是网站图片或视频占了地方,/data 或 /www 下会有个大块头目录,还有一种更快的搜索方式:
find / -xdev -size +1G -type f
找出所有大于1GB的文件,直接看清单,然后决定是删还是迁移。
iostat 和 fdisk -l 用于性能与分区
iostat -dx 1 查看磁盘读写IO,这个主要用于判断是不是磁盘性能瓶颈,而不仅仅是容量问题。fdisk -l 列出所有磁盘和分区信息,帮助确认云服务器是否挂载了新的数据盘却没有格式化,很多用户买了数据盘,但控制台挂载后忘记分区,导致 100G的盘实际只有20G可用,这类问题用 lsblk 一眼就能看出来。
云服务器磁盘满了怎么办?清理和扩容实操
当你发现 Use% 已经100%,网站报错,SSH登录都卡顿,先不要慌,按下面的优先级处理。
清理日志和缓存
系统日志是最常见的元凶,执行:
journalctl --vacuum-size=500M
清掉Systemd日志中超过500MB的部分,再检查 /var/log 下的大文件,messages、syslog,可以定期用 logrotate 做轮转,Nginx、MySQL、PHP的日志也要看,尤其是开启了慢查询日志的数据库,增长速度快得惊人,清理时注意先确认文件没有被进程占用,否则删除后空间不会释放,需要 kill -HUP 重启对应进程。
扩容数据盘(控制台操作)
如果清理完仍然不够,扩容是最终方案,在云厂商控制台找到你的云硬盘,选择扩容,然后滑动滑块增加容量,注意两个关键点:
- 扩容后需要在服务器内执行
growpart和resize2fs(针对ext4文件系统)让分区识别新空间 - 如果是新挂载的数据盘,需要先分区、格式化、挂载,再写入
/etc/fstab实现开机自动挂载
具体命令因文件系统而异,操作前建议先给云硬盘做快照,这个步骤不能省,一旦扩容命令执行错误,数据可能全丢。
别忘了查inode
有时候磁盘满了不是空间问题,而是文件数量太多,比如某个目录里有几十万个小缓存文件,df -h 看着只有50%,但 df -i 已经100%,这种情况删除文件比扩容更有效,因为inode总量由格式化决定,扩容不会自动增加。
酷番云服务器磁盘空间查询常见问题
围绕酷番云服务器磁盘空间查询,用户问得最多的三个问题如下。
酷番云服务器磁盘空间查询在哪里操作?
两种途径:一是登录CVM实例后,在控制台 → 云服务器 → 实例 → 监控页查看磁盘使用率的趋势图;二是通过SSH连接服务器,执行 df -h 获取实时精确数据,控制台的监控数据有5分钟左右的延迟,适合看历史趋势;命令行的结果是瞬间快照,适合精确判断,对于磁盘IO和吞吐量,控制台上的 云硬盘监控 标签页能查到更详细的数据。
为什么df -h看到的容量和购买时不一致?
常见原因是云厂商预留了一部分系统保留空间,或者根分区没有完全占满整块磁盘,例如购买50G的云硬盘,df -h 显示49G,这属于正常现象,另一个原因是数据盘未初始化,在控制台看到磁盘是100G,但系统里没有挂载,自然 df 不显示,用 lsblk 查看块设备列表,确认是否有未分区的磁盘。
磁盘空间清理后,什么时候能释放?
删除文件后,只要没有进程继续占用该文件句柄,空间会立即释放,但如果你删的是被进程打开的大日志文件,空间要等到进程重启或者文件描述符关闭后才回收,这时用 lsof | grep deleted 找出占用已删除文件的进程,然后重启对应的服务即可。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/758108.html


![[享干货]云服务器满了怎么办?如何清理网站服务器空间?硬盘占用100%可以删除二进制日志或者备份](https://i1.hdslb.com/bfs/archive/47e4adeec6aad21fc95c2170bb7db6153b16f885.jpg)


