服务器测评网
我们一直在努力

服务器怎么看存储空间大小,如何查看服务器硬盘容量

查看服务器存储空间大小主要依赖于操作系统提供的命令行工具或图形化管理界面,核心在于区分总容量、已用空间、剩余空间以及Inode使用情况,对于Linux服务器,最常用的命令组合是dfdu;对于Windows服务器,则主要通过磁盘管理或PowerShell命令,掌握这些工具不仅能查看当前容量,更能快速定位占用空间异常的目录或文件,从而进行针对性的清理和扩容。

服务器怎么看存储空间大小,如何查看服务器硬盘容量

Linux服务器查看存储空间的方法

在Linux服务器运维中,精确掌握磁盘使用情况是保障服务稳定性的基础,Linux提供了多种强大的文本界面工具,能够以不同维度展示存储状态。

查看整体磁盘分区使用情况(df命令)
df(Disk Free)命令是查看文件系统磁盘空间使用情况的首选工具,为了获得更直观的阅读体验,通常建议使用-h参数,即以人类可读的格式(如GB、MB)显示数据。

执行命令:df -h

输出结果中需要重点关注以下几个核心指标:

  • Filesystem:文件系统所在的分区或逻辑卷路径。
  • Size:该分区的总存储大小。
  • Used:已使用的存储空间。
  • Avail:剩余可用的存储空间。
  • Use%:使用百分比。当该数值超过90%时,应引起高度重视,因为系统需要预留部分空间用于临时文件交换和进程运行,满载极易导致系统死机或服务崩溃。
  • Mounted on:挂载点,即该分区对应系统中的哪个目录,是根目录,/var通常存放日志和数据库数据。

若需查看更具体的文件系统类型(如ext4、xfs),可以添加-T参数,即df -hT

深入排查目录占用大小(du命令)
当发现磁盘空间不足时,df只能告诉你哪个分区满了,却无法定位具体是哪个文件夹占用了空间,此时需要使用du(Disk Usage)命令。

  • 查看当前目录下各子文件夹的大小:执行du -h --max-depth=1,该命令会列出当前目录下一级子文件夹的大小,--max-depth=1限制了递归深度,避免输出过多信息,帮助运维人员快速锁定“大块头”目录。
  • 查看指定目录的总大小:执行du -sh /var/log-s表示汇总(summary),只输出该目录的总大小,而不显示其内部子目录的详情。

检查Inode使用情况
这是一种特殊的“空间不足”情况,有时即使df -h显示还有大量剩余空间,系统却提示“No space left on device”,这通常是因为Inode耗尽,Inode是存储文件元数据(如权限、所有者、大小、数据块位置)的结构,每个文件或目录都必须占用一个Inode。

执行命令:df -i

服务器怎么看存储空间大小,如何查看服务器硬盘容量

如果IUse%(Inode使用率)接近100%,说明系统中存在大量的小文件(通常是由于未清理的临时文件、邮件队列或数以万计的session文件导致),解决方法是查找并删除包含大量小文件的目录,这比删除大文件更为棘手,通常需要结合脚本处理。

Windows服务器查看存储空间的方法

Windows服务器环境相对图形化,但在远程管理或自动化运维中,命令行依然具有不可替代的高效性。

图形化界面查看
最直接的方式是打开“服务器管理器”或“此电脑”,在磁盘驱动器列表中即可直观看到每个盘符(如C盘、D盘)的容量条、已用空间和剩余空间,右键点击磁盘选择“管理”进入磁盘管理工具,还可以查看磁盘分区类型、状态以及是否需要进行扩容。

PowerShell命令行查看
对于需要远程脚本化管理的场景,PowerShell提供了更专业的数据获取方式。

执行命令:Get-PSDrive

该命令会列出所有驱动器,包括文件系统驱动器(C、D)和注册表等其他PS驱动器,若只想看硬盘,可以使用Get-PSDrive -PSProvider FileSystem,输出结果中的UsedFree列分别对应已用和剩余空间。

使用Get-Volume命令也能获得非常简洁且格式化的磁盘信息,包括文件系统标签、大小、健康状态等,非常适合快速检查。

进阶排查与专业见解

在日常运维中,仅仅知道“空间还剩多少”是不够的,专业的运维人员需要具备解决隐藏空间占用问题的能力。

服务器怎么看存储空间大小,如何查看服务器硬盘容量

处理“幽灵文件”——已删除但未释放的空间
在Linux服务器中,经常遇到删除了日志文件,但磁盘空间并没有释放的情况,这是因为该文件虽然被删除了(unlink),但仍有活跃的进程正在持有该文件的文件句柄,导致系统无法真正回收磁盘空间。

解决方案:使用lsof | grep deleted命令,该命令会列出所有已标记为删除但仍有进程打开的文件,输出结果中会显示占用该文件的进程ID(PID),运维人员可以通过重启该服务或使用kill -9 PID来终止进程,从而让系统释放被占用的磁盘空间,这是处理Web服务器(如Nginx、Tomcat)日志爆满时的关键技巧。

Docker与容器环境的存储陷阱
在使用Docker或Kubernetes的环境中,存储空间往往被忽视的镜像和容器占用,即使删除了容器,其对应的镜像层或数据卷可能依然存在。
解决方案:定期执行docker system prune -a命令,清理未使用的镜像、容器、网络和构建缓存,对于Kubernetes,需关注/var/lib/kubelet目录下的空间使用,及时清理已驱逐Pod的残留数据。

磁盘扩容后的识别
在对云服务器进行云盘扩容后,操作系统层面往往无法立即看到新增的空间。
解决方案:对于Linux,需要使用growpart工具扩展分区,然后使用resize2fs(ext4)或xfs_growfs(xfs)扩展文件系统,对于Windows,通常需要在“磁盘管理”中右键点击盘符选择“扩展卷”,这一步操作是扩容流程中不可或缺的一环。

相关问答

Q1:Linux服务器提示磁盘已满,但使用df -h查看还有40%的空间,是什么原因?
A: 这种情况通常是由Inode耗尽引起的,Inode用于存储文件元信息,每个文件都会占用一个Inode,如果服务器上存在大量极小的文件(例如数百万个零碎的缓存文件或会话文件),即使磁盘总容量(Block)还有剩余,Inode号码也会被分配完毕,请使用df -i命令检查Inode使用率,如果达到100%,需要查找并删除包含大量小文件的目录。

Q2:如何快速找出Linux系统中占用空间最大的前10个文件?
A: 可以组合使用dusort命令来实现,执行命令:du -ah / | sort -rh | head -n 10,该命令的含义是:du -ah /统计根目录下所有文件和目录的大小(包括隐藏文件),sort -rh将结果按数值大小进行逆向排序(大的在前),head -n 10只显示前10行,注意,在系统根目录执行此操作可能需要较长时间,建议在疑似占用空间较大的特定目录(如/var或/home)下执行。
能帮助您更全面地掌握服务器存储空间的查看与管理技巧,如果您在实际操作中遇到特殊的报错或难以定位的空间占用问题,欢迎在评论区分享具体的命令输出截图,我们将为您提供进一步的排查建议。

赞(0)
未经允许不得转载:好主机测评网 » 服务器怎么看存储空间大小,如何查看服务器硬盘容量