1、查看磁盘占用:df -h命令
[root@localhost logs]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup-lv_root 18G 7.4G 8.9G 46% / tmpfs 1.9G 0 1.9G 0% /dev/shm /dev/sda1 477M 42M 411M 10% /boot
2、逐级目录查占用,先查系统日志占用,如果系统日志中没有大文件,则直接查根目录,然后逐渐缩小范围:du -sh /*
# 1、先查系统日志占用,发现日志占用正常 [root@localhost logs]# du -sh /var/log/* 4.0K /var/log/anaconda.ifcfg.log 28K /var/log/anaconda.log 36K /var/log/anaconda.program.log 108K /var/log/anaconda.storage.log ... # 2、查系统根目录 [root@localhost logs]# du -sh /* 7.8M /bin 39M /boot 4.0K /cgroup 8G /usr ... # 3、发现usr偏大,继续查usr目录,逐级定位到某tomcat目录下,logs偏大 # 此时备份该目录日志下文件,停掉进程,然后删除占用即可 [root@localhost logs]# du -sh /usr/* 138M /usr/bin 4.0K /usr/etc 159M /usr/filelocal 4.0K /usr/games 7.6M /usr/include 313M /usr/lib 506M /usr/lib64 13M /usr/libexec 4.5G /usr/local 42M /usr/sbin 724M /usr/share 12K /usr/src 0 /usr/tmp ...
3、删除了占用文件后,发现系统磁盘占用还是没有减少,使用命令查看已删除文件,是否被其他进程占用:lsof |grep deleted
# 经查询有以下文件在占用,解决办法: # 1、暴力型、kill掉占用进程即可 # 2、优雅型、重启Oracle数据库,然后占用消失 [root@ticketb ~]# lsof |grep deleted oracle 12639 oracle 5w REG 253,0 648 215907 /home/oracle/admin/dbticb/udump/dbticb_ora_12637.trc (deleted) oracle 12639 oracle 6w REG 253,0 16749822091 215748 /home/oracle/admin/dbticb/bdump/alert_dbticb.log (deleted) oracle 12639 oracle 7u REG 253,0 0 36282 /home/oracle/oracle/product/10.2.0/db_1/dbs/lkinstdbticb (deleted) oracle 12639 oracle 8w REG 253,0 16749822091 215748 /home/oracle/admin/dbticb/bdump/alert_dbticb.log (deleted) oracle 12641 oracle 5w REG 253,0 648 215907 /home/oracle/admin/dbticb/udump/dbticb_ora_12637.trc (deleted) oracle 12641 oracle 6w REG 253,0 16749822091 215748 /home/oracle/admin/dbticb/bdump/alert_dbticb.log (deleted)