linux磁盘占用找不到文件,linux磁盘已满,查看文件占用

1.使用df -h查看磁盘空间占用情况

[root@localhost ~]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/vda2 98G 6.5G 87G 7% /

tmpfs 1.9G 276K 1.9G 1% /dev/shm

/dev/vda1 485M 31M 429M 7% /boot

df 命令说明

df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

主要命令参数:

-a 全部文件系统列表

-h 方便阅读方式显示

-H 等于“-h”,但是计算式,1K=1000,而不是1K=1024

-i 显示inode信息

-k 区块为1024字节

-l 只显示本地文件系统

-m 区块为1048576字节

2.使用 sudo du -s -h /* | sort -nr 命令查看那个目录占用空间大

由于篇幅省略部分内容展示

[root@localhost ~]# du -s -h /* | sort -nr

du: cannot access `/proc/26503/task/26503/fd/5': No such file or directory

du: cannot access `/proc/26503/task/26503/fdinfo/5': No such file or directory

du: cannot access `/proc/26503/fd/5': No such file or directory

du: cannot access `/proc/26503/fdinfo/5': No such file or directory

452K /dev

418M /usr

364K /tmp

258M /var

146M /lib

76K /root

75M /titan

44K /home

25M /etc

21M /boot

18M /lib64

16K /lost+found

9.0M /sbin

5.8M /bin

4.2G /app

4.0K /srv

4.0K /selinux

4.0K /mnt

4.0K /media

1.2G /opt

0 /sys

0 /proc

3.然后那个目录占用多 再通过sudo du -s -h /app/* | sort -nr 一层层排查,找到占用文件多的地方。

[root@localhost ~]# du -s -h /app/* | sort -nr

810M /app/smp_app

734M /app/uav.bk.20181109.old.bk

505M /app/uav

501M /app/uav.bk.20181114.old.bk

391M /app/tomcatapp

99M /app/smp-extension

87M /app/software

35M /app/apache-tomcat-7.0.73

26M /app/redis

15M /app/apache-tomcat-8.5.9

4.0K /app/test

4.0K /app/caifu

1.1G /app/uc_app

du命令说明

显示文件或目录所占用的磁盘空间。

命令格式:du [option] 文件/目录

-h 输出文件系统分区使用的情况,例如:10KB,10MB,10GB等

-s 显示文件或整个目录的大小,默认单位是KB

Linux 查找占用空间最大的文件与目录:du -h --max-depth=1

sort命令说明

将文本文件内容加以排序,sort可针对文本文件的内容,以行为单位来排序。

参数:

-b 忽略每行前面开始出的空格字符。

-c 检查文件是否已经按照顺序排序。

-d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。

-f 排序时,将小写字母视为大写字母。

-i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。

-m 将几个排序好的文件进行合并。

-M 将前面3个字母依照月份的缩写进行排序。

-n 依照数值的大小排序。

-o 将排序后的结果存入指定的文件。

-r 以相反的顺序来排序。

-t 指定排序时所用的栏位分隔字符。

+- 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。

4. 以上方法没有找到问题所在,那么可以使用 lsof | grep deleted 命令,看看是否删除掉的文件仍然被进程占用而没有进行实际删除

lsof命令说明

lsof(List Open Files) 用于查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP、UDP),找回/恢复删除的文件。

首先使用lsof来查看当前是否有进程打开/var/logmessages文件,如下:

# lsof |grep /var/log/messages

syslogd 1283 root 2w REG 3,3 5381017 1773647 /var/log/messages (deleted)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值