云服务器磁盘使用查看方法?
- 来源:纵横数据
- 作者:中横科技
- 时间:2026/7/28 14:16:48
- 类别:新闻资讯
云服务器用久了,网站突然打不开、文件传不上去、数据库写入失败——这些状况往往都指向同一个根源:磁盘满了。和CPU或内存使用率偏高不同,磁盘空间耗尽的后果往往是灾难性的,系统可能直接拒绝写入任何新数据,导致业务彻底停摆。所以学会查看云服务器的磁盘使用情况,是每一个运维人员和网站管理者必须掌握的基础技能。
在Linux系统中查看磁盘使用情况
对于绝大多数Linux云主机来说,最核心的命令就是df。输入df -h,系统会列出一张清晰的总览表,显示每一个挂载点的总容量、已用空间、可用空间以及使用百分比。那个百分比的数字很直观,一旦达到95%以上,就需要警惕了,系统随时可能因为空间不足而出问题。
但df -h只能看到分区级别的整体情况,如果想知道具体是哪个文件夹占用了大量空间,就要用到du命令。比如执行du -sh /home/*,可以查看/home目录下每个子目录各自占用了多少空间。如果发现某个目录特别大,再进一步深入进去,用同样的命令逐层排查,直到锁定占用空间最多的那个文件夹或文件。
在实际运维场景中,du命令还有一些非常实用的组合用法。比如du -sh /* 2>/dev/null | sort -hr | head -20,这条命令会统计根目录下每个一级目录的大小,按从大到小排序并显示前20个。对于快速定位“磁盘空间到底被谁吃掉了”这个问题,这个组合特别有效。
另一个常用工具是lsblk。输入lsblk后,系统会以树形结构展示所有磁盘设备及其分区情况,包括每个分区的大小和挂载点。这个命令的好处是结构清晰,能一眼看出云主机挂载了几块云盘、每块云盘的分区布局是怎样的。
这里有一个很容易踩的坑:有时候用df -h看到磁盘使用率已经100%,但用du统计各个目录的总大小,加起来却远远小于磁盘总容量。这种矛盾的情况通常意味着有文件被删除了,但仍有进程在持续占用该文件句柄,导致操作系统并没有真正释放磁盘空间。这时候可以用lsof | grep deleted命令查找那些已被删除但仍被进程占用的文件,然后根据输出结果重启对应的进程,空间就会立即释放出来。
还有一种情况需要特别留意,就是inode耗尽。df -i命令可以查看每个分区的inode使用情况。如果inode使用率达到100%,即使磁盘还有剩余空间,系统也无法创建新文件了。这个问题在使用小文件特别多的应用时经常出现,比如缓存目录或会话存储目录。一旦遇到这种情况,需要清理大量过期的小文件来释放inode,或者调整文件系统的inode分配策略。
在Windows系统中查看磁盘使用情况
Windows云主机查看磁盘使用情况就更加直观了。打开文件资源管理器,选中某个盘符,右键点击属性,会弹出一个窗口清晰地显示已用空间和可用空间,还有一个饼状图直观展示使用比例。这种方式适合快速看一眼整体情况。
如果需要更精细的分析,推荐使用系统自带的磁盘清理功能。在盘符属性窗口中点击“磁盘清理”,系统会自动扫描可以清理的临时文件、回收站文件、系统缓存等,勾选后一键清理就能释放出不少空间。
对于更深度的分析,Windows也有类似Linux du命令的工具。以管理员身份打开PowerShell,可以使用Get-PSDrive -Name C命令查看C盘的使用情况。如果想知道具体是哪些文件夹占用了空间,可以用Get-ChildItem -Path C:\ -Recurse | Group-Object Extension | Select-Object Name, Count, @{Name='Size';Expression={($_.Group | Measure-Object Length -Sum).Sum}}之类的命令,但更常用的方法是借助第三方工具或系统自带的存储感知功能。
Windows 10及以上版本或Windows Server 2019及以上版本,系统设置里有一个“存储”选项,点进去可以看到每个盘符的使用情况,以及按文件类型分类的空间占用详情。这个界面设计得比较友好,普通用户也能看懂。
通过云服务商的控制台查看磁盘使用情况
除了登录云主机内部查看之外,绝大多数云服务商的控制台都提供了磁盘使用情况的监控图表。在云主机实例详情页找到监控入口,通常可以看到磁盘使用率、磁盘读写IOPS、磁盘吞吐量等指标的实时数据和历史趋势图。
这种方式有几个好处。一是无需登录服务器,随时随地打开浏览器就能看。二是数据有历史记录,可以分析磁盘使用量的增长趋势,提前预判何时需要扩容。三是一些云服务商支持设置告警规则,比如磁盘使用率超过85%就自动发送告警通知,帮助运维人员在问题发生之前就介入处理。
实际案例:日志文件撑爆磁盘的排查过程
说一个真实的运维场景。某SaaS平台的云服务器突然无法上传用户头像了,上传接口一直报错“No space left on device”。运维人员第一时间用df -h命令检查,发现根分区使用率达到100%。再用du -sh /* 2>/dev/null | sort -hr | head -10排查,发现/var/log目录占用了将近60GB的空间。
继续深入du -sh /var/log/*,锁定了一个叫做nginx的目录,里面有大量的access.log和error.log文件。原来是平台的访问量近期增长较快,但Nginx日志从未清理过,一个日志文件就达到了十几个GB。解决方案很简单:先cat /dev/null > /var/log/nginx/access.log清空日志文件,磁盘空间立即释放,网站恢复正常。然后再配置了logrotate日志轮转策略,规定日志保留30天、超过1GB就自动切割压缩,从此这个问题再也没有出现过。
这个案例说明了一个道理:磁盘使用情况不是看一眼就完事了,关键在于建立定期查看的习惯,并且针对发现的异常情况制定预防措施。毕竟等到磁盘真写满了再处理,业务已经受到了影响。
总结
云服务器磁盘使用查看的方法其实不难掌握。Linux系统下,df -h看整体使用率,du -sh逐层定位大文件目录,df -i检查inode是否耗尽,lsof | grep deleted找出被删除但仍占用空间的文件。Windows系统下,文件资源管理器的属性面板直观显示整体情况,磁盘清理功能帮忙释放缓存和临时文件,PowerShell命令满足更深入的分析需求。再加上云服务商控制台的监控面板和告警配置,基本可以全方位掌握云服务器的磁盘健康状况。
工具本身没有多少技术含量,真正有价值的是养成定期查看的习惯,以及对异常数据保持敏感。磁盘空间不会一夜之间突然变满,它总是一个渐进的过程。只要在这个渐进的过程中及时发现问题并采取行动,就能避免业务受到实质性影响。




使用微信扫一扫
扫一扫关注官方微信 

