Linux操作系统df相关问题解惑

转至:https://www.cnblogs.com/jiawei2527/p/10720647.html

1.df 命令无法使用解决办法

   问题分析:

   1.1 df命令是通过/etc/mtab文件读取已挂载文件系统的信息,因此,df命令无法使用的原因的在于/etc/mtab文件被损坏或者丢失。

         查看 more  /etc/proc

   1.2 查看/proc/mounts文件信息,确认所有分区文件系统是否已经正常挂载上。

         more /proc/mounts

   通过对比两个文件内容,可以确定/etc/mtab文件是否损坏。

   解决办法

         由于/etc/mtab为/proc/self/mounts的软连接,因此,可以通过重新建立软连接恢复。执行以下命令:

         rm -rf /etc/mtab

         ln -s /proc/self/mounts /etc/mtab

  

  

     再次使用df命令查看磁盘空间

 

2.Inode节点耗尽无法创建文件或目录

   创建文件或者目录失败,提示没有可用空间,但是使用df命令查看磁盘使用率时发现磁盘空间未使用完。

  (stat 可以用来查看inode编号和详细信息)

   2.1 问题分析

        Linux系统中对磁盘空间占用分为三部分:1.物理磁盘空间;2.inode节点所占用的磁盘空间;3.Linux系统用来存放信号量的空间。

        查看磁盘物理空间是否已满执行如下命令:df -h

        查看inode节点使用量,使用命令:df -ih

        查看信号量空间,使用ipcs -s 查看活动的信号量信息。

 2.2 处理办法

       如果是inode节点耗尽,可以通过删除没用的文件,释放inode节点

      一般使用rm * 删除大量文件,但是会有时会提示:argument list too long ,可以使用find 命令删除。如:

      find  /test -type f -exec rm -f {} ;

      也可以通过备份数据后重做文件系统,指定为需要的inode节点数量。

      如: mkfs.ext4 /dev/vdb1 -N 2000000

原文地址:https://www.cnblogs.com/my-first-blog-lgz/p/15151777.html