很多运维新手在管理VPS、云服务器时,经常遇到网站提示磁盘已满、日志写入失败的问题,学会查看磁盘空间、定位占用大的目录是基础运维技能。下面给大家整理常用命令、使用方法和排错思路。

一、df命令:查看整体磁盘挂载空间
df用来查看分区整体容量、已用、剩余空间、使用率,是排查磁盘满的首选。
基础命令:
df-h
参数`-h`代表人类可读格式,会自动用G、M单位展示,比原始字节方便很多。
输出字段说明:
-Filesystem:磁盘分区/存储设备
-Size:总容量
-Used:已经使用空间
-Avail:可用剩余空间
-Use%:使用率,超过90%就要及时清理
-Mountedon:挂载目录
补充用法:只看本地磁盘,排除虚拟文件系统
df-hT
-T可以额外显示文件系统类型(ext4、xfs等)。
>>注意:df看到的是分区层面空间,看不出哪个文件夹占空间大。
二、du命令:查看目录、文件实际占用大小
df看分区,du用来深挖**哪个目录占用空间高**,定位大文件、日志包、备份压缩包。
1.查看当前目录下各个文件夹大小
du-sh*
-`-s`:只显示汇总大小,不递归所有子文件
-`-h`:友好单位展示
2.查看指定目录,比如/var/log日志目录
du-sh/var/log
3.递归查看,按大小排序(找最大目录)
du-h--max-depth=1/|sort-hr
`--max-depth=1`只看一级子目录,避免刷屏;sort-hr从大到小排序。
三、ls命令:查看单个文件大小
如果只想看某个文件夹里面文件大小,辅助查找超大文件:
ls-lh
适合快速看当前目录下文件体积,不适合统计目录总大小。
四、常见特殊情况排查
1、df显示空间满,但是du查不到大文件
大概率是已删除文件被进程占用(比如日志文件删了,但服务还持有句柄,空间不会释放)。
查看被删除占用文件:
lsof|grepdeleted
找到对应进程重启,空间才会释放。
2、inode耗尽
这种情况使用率正常,但是提示nospaceleftondevice,是inode用完了。
查看inode:
df-i
一般是大量小文件(缓存、爬虫临时文件、垃圾日志)耗尽inode,需要清理海量小文件。
五、简易排查流程总结
1.`df-h`看哪个分区满了,确认挂载点
2.`du-sh挂载目录`逐层往下找占用最高文件夹
3.重点检查目录:`/var/log`、网站根目录、备份文件夹、MySQL数据目录
4.检查lsofdeleted文件、inode占用异常问题
FAQ
Q:df和du看到的占用大小不一致正常吗?
A:正常。df读取文件系统元数据;du遍历统计文件。存在被进程持有、已删未释放文件时,两者差值明显。
Q:VPS的tmp目录经常爆满怎么办?
A:定时清理/tmp临时文件,或者写定时脚本自动清理过期临时文件。
总结
日常运维优先用`df-h`看全局磁盘状态,磁盘告警后用`du`逐级定位大文件,配合lsof排查幽灵占用文件。这两条命令是Linux服务器磁盘维护的必备组合,适合VPS、独立服务器、IDC托管机器使用。
文章名称:《Linux服务器如何查看磁盘空间?》
文章链接:https://www.idc500.com/12228.html
【声明】:优云主机测评 仅分享信息,不参与任何交易,也非中介,所有内容仅代表个人观点,均不作直接、间接、法定、约定的保证,读者购买风险自担。一旦您访问优云主机测评 ,即表示您已经知晓并接受了此声明通告。
【关于安全】:任何 IDC商家都有倒闭和跑路的可能,备份永远是最佳选择,服务器也是机器,不勤备份是对自己极不负责的表现,请保持良好的备份习惯。