精华内容
下载资源
问答
  • Linux inode 占用100%的解决办法

    千次阅读 2018-05-29 23:17:54
    导语当你的 Linux 系统无法创建新文件时,有可能是你的磁盘满了,还有可能是你的磁盘的 inode 用光了,我们今天要说的就是后一种情况,要解决这个问题,只能是删除一些文件,但是一般情况下,其实是你的系统中的某个...
    导语
    当你的 Linux 系统无法创建新文件时,有可能是你的磁盘满了,还有可能是你的磁盘的 inode 用光了,我们今天要说的就是后一种情况,要解决这个问题,只能是删除一些文件,但是一般情况下,其实是你的系统中的某个地方产生了大量的你并不需要的文件,你要做的就是找到他们并删除就可以了,我并不是让你删除你有用的文件,因为你一般不会有那么多有用的文件来把系统的 inode 用光。
    什么是 inode ?
    文件储存在硬盘上,硬盘的最小存储单位叫做”扇区”(Sector)。每个扇区储存512字节(相当于0.5KB)。
    操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个”块”(block)。这种由多个扇区组成的”块”,是文件存取的最小单位。”块”的大小,最常见的是4KB,即连续八个 sector组成一个 block。
    文件数据都储存在”块”中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为”索引节点”。
    每一个文件都有对应的inode,里面包含了与该文件有关的一些信息。
    如何查看系统的 innode 占用情况
    df -ih
    如何查找那个目录下文件最多
    首先切到根目录  /
    cd /
    然后执行
    for i in /*; do echo $i ; find $i | wc -l; done
    或者
    for i in `ls - 1 A | grep -v "\.\./" | grep -v "\./" `; do echo "`find $i | sort -u | wc -l` $i " ; done | sort -rn | head - 10
    这样会依次返回 / 目录下文件最多的目录,进入这个目录,再执行上述命令,就这样层层深入最终确定是那个目录文件最多
    如何删除那个目录的的所有文件
    一般情况下,如果这个目录下应该会有数以百万的文件,如果你直接用  rm -rf 目录名  的话效率会很低,可以用下面方法
    find 目录 - type f -name '*' -print0 | xargs - 0 rm
    时间可能会比较久,所以你最好开一个 screen 来处理
    有可能是你遇到了下面的情况
    /var/spool/postfix/maildrop 下面有很多文件
    为了避免,可以执行  crontab -e
    在最开头添加  MAILTO='"'  保存,然后  server crond restart  重启 crond
    展开全文
  • 最后发现解压的时候其实磁盘空间不足 和软件无法打开的原因为同一个:inode占用100%,删除掉一些无用的inode占用较大的文件之后解决。 通过查阅资料获取到以下相关知识点: 导语 当你的 Linux 系统...

    导入:今天在centos 上安装protobuf(依赖perl, m4, autoconf,automake),安装automake过程中解压.tar.gz的时候提示设备空间不足,但df -h 显示还有磁盘空间;重启电脑之后发现很多软件无法打开,其中eclipse提示如下!

    最后发现解压的时候提示磁盘空间不足 和 软件无法打开的原因为同一个: inode占用100%,删除掉一些无用的inode占用较大的文件之后解决。

    通过查阅资料获取到以下相关知识点:

    导语
            当你的 Linux 系统无法创建新文件时,有可能是你的磁盘满了,还有可能是你的磁盘的 inode 用光了,我们今天要说的就是后一种情况,要解决这个问题,只能是删除一些文件,但是一般情况下,其实是你的系统中的某个地方产生了大量的你并不需要的文件,你要做的就是找到他们并删除就可以了,我并不是让你删除你有用的文件,因为你一般不会有那么多有用的文件来把系统的 inode 用光。
    什么是 inode ?
            文件储存在硬盘上,硬盘的最小存储单位叫做”扇区”(Sector)。每个扇区储存512字节(相当于0.5KB)。
           操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个”块”(block)。这种由多个扇区组成的”块”,是文件存取的最小单位。”块”的大小,最常见的是4KB,即连续八个 sector组成一个 block。
           文件数据都储存在”块”中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为”索引节点”。

           Inode译成中文就是索引节点,每个存储设备(例如硬盘)或存储设备的分区被格式化为文件系统后,应该有两部份,一部份是inode,另一部份是 Block,Block是用来存储数据用的。而inode呢,就是用来存储这些数据的信息,这些信息包括文件大小、属主、归属的用户组、读写权限等。 inode为每个文件进行信息索引,所以就有了inode的数值。操作系统根据指令,能通过inode值最快的找到相对应的文件。
           每一个文件都有对应的inode,里面包含了与该文件有关的一些信息。
           如何查看系统的 inode 占用情况: df -ih

    问题解决(1):

    情况描述:今天我们邮件服务器收发不了邮件了,而且连接到服务器上开启服务都开不了,起始以为磁盘空间不足,df 看了一下

    关于inodes占用100%的问题及解决方法

    发现空间是足够的,然后df -i 查看了下inodes,发现根目录下的inodes值使用率已经为100%了

    关于inodes占用100%的问题及解决方法

    通过以下脚本进行检查,查看到底哪个目录下面的文件最多:【亲测可用】

    find / -xdev -printf '%h\n' | sort | uniq -c | sort -k 1 -n

    最终发现/var/soppl目录最多。然后又进一步确定是/var/spool/amavisd/quarantine 目录下面有上百万个文件,机器已经无法正常显示了,后来百度查看了下这个目录是邮件服务器,处理垃圾邮件活病毒邮件隔离的,明白原因了,删除该目录下所有文件;使用xargs命令来删除数量比较多的文件:

    ls | xargs -n 10 rm -rf

    问题解决(2)

    ①大早上例行第一件事打开网站 然后就凉了

    ②刚开始以为是mysql的问题,于是我到tmp文件夹去看 ,发现里面有很多mysql产生的临时文件。
            这种临时产生的临时表是会自动清除的,为什么突然就报这种错呢?  仔细搜索是文件夹满了 写不进去文件了 。然后继续查看  df -h  

            还有20个G 怎么可能满了写不进文件,然后继续看 df -i,发现inode 节点 已经用完。

        ③什么是inode节点
           Inode译成中文就是索引节点,每个存储设备(例如硬盘)或存储设备的分区被格式化为文件系统后,应该有两部份,一部份是inode,另一部份是 Block,Block是用来存储数据用的。而inode呢,就是用来存储这些数据的信息,这些信息包括文件大小、属主、归属的用户组、读写权限等。 inode为每个文件进行信息索引,所以就有了inode的数值。操作系统根据指令,能通过inode值最快的找到相对应的文件。
           而这台服务器的Block虽然还有剩余,但inode已经用满,因此在创建新目录或文件时,系统提示磁盘空间不足。
           Inode的数量是有限制的,每个文件对应一个Inode。
           然后继续查看每个文件夹的的大小
           查看/var/spool/clientmqueue/ 的时候  9个G的文件
           怎么回事? 原来是系统中开启了cron,而cron中执行的程序有输出内容,输出内容会以邮件形式发给cron的用户,而sendmail没有启动所以就产生了这些文件;
    所以千万要记住所有的定时任务 
           crontab里面的命令后面加上 > /dev/null 2>&1 或者crontab里面的命令后面加上 > /dev/nu

           先删除/var/spool/clientmqueue/ 里面所有的垃圾数据 然后在吧每个定时任务都指向空文件夹之后重启定时任务,监控文件夹是是否在产生文件。然后df -i 查看节点 一下子从100%降到7% 。

    注:浅谈>/dev/null 2>&1

    在crond计划任务、nohup中我们经常可以看到>/dev/null 2>&1,但是很多人并不理解其含义,想要真正的理解它,首先我们需要知道文件描述符的三种类型。

    类型文件描述符重定向符号位置
    标准输入(stdin)00<或0<</dev/stdin -> /proc/self/fd/0
    标准输出(stdout)11>或1>>/dev/stdout -> /proc/self/fd/1
    错误输出(stderr)22>或2>>/dev/stderr -> /proc/self/fd/2
    标准输入重定向"0<"或"0<<"等同于"<"或"<<",我们在平时使用时一般都省略了"0"
    标准输出重定向"1>"或"1>>"等同于">"或">>",我们在平时使用时一般都省略了“1”

    通过上面的表格,我们将>/dev/null 2>&1拆开来看就容易理解的多
    >/dev/null将标准输出重定向到空设备,即我们常说的“黑洞”
    2>表示错误输出
    &表示等同的意思
    1标准输出
    2>&1就表示错误输出重定向等同于标准输出

    所以>/dev/null 2>&1就表示将标准输出及错误输出全部重定向到“黑洞”,这么做可以有效的防止结果输出到控制台,以及inode节点被写满。

    展开全文
  • linux服务器inode节点占用过高

    千次阅读 2017-10-30 10:34:53
    今天查看硬盘剩余的容量,发现‘/’目录下占用了大量的空间;可我在这个目录下面没有放什么东西;仔细查看在/var/spool/postfix/maildrop/ 中发现了大量的文件。怎么会有这么多的文件呢,先删除。  在网上搜索...

    今天查看盘剩余的容量,发现‘/’目录下占用了大量的空间;可我在这个目录下面没有放什么东西;仔细查看在/var/spool/postfix/maildrop/ 中发现了大量的文件。怎么会有这么多的文件呢,先删除。

         在网上搜索之后明白是mail没有成功的邮件。由于linux在执行cron时,会将cron执行脚本中的output和warning信息,都会以邮件的形式发送cron所有者, 而我的服务器中关闭了postfix,导致邮件发送不成功,全部小文件堆积在了maildrop目录下面。如果sendmail或者postfix正常运行,则会在/var/mail目录下也会堆积大量的邮件。

         解决方法:

         修改“/etc/crontab”

         将‘MAILTO=root’替换成‘MAILTO=""’修改之后没有成功,需要重启crond服务才可以

         也可从在crontab(crontab -e)中最前面直接加入MAILTO=""

    --------------------------------------------------------------------------------------------------------------

        话说博主后来在crontab -e中改了root配置,其它普通用户忘记改到。结果导致了其它用户crontab不执行,普通用户资源数耗尽。ps aux|grep www|wc -l,查看该用户进程数有上千条,几乎是:

    www 31446 31377  0 20:20 ?       /usr/sbin/sendmail -FCronDaemon -i -odi -oem -oi -t -f root

    www      32405  0.0  0.0  80948  3432 ?        S    Apr02   0:00 /usr/sbin/postdrop -r


        问题原因: 删除/var/spool/postfix/maildrop/下面的文件后,普通用户crontab 没有改到,导致普通用户一直在发邮件,而且报错:postfix/postdrop[23110]: warning: mail_queue_enter: create file maildrop/749274.23110: No such file or directory

    邮件发送不成功,但是进程一直存在,直到该用户分配的系统资源耗尽才发现问题。 

        系统普通用户资源耗尽可查看另外一篇文章, 

    su: cannot set user id: Resource temporarily unavailable(资源不可用)



        


    展开全文
  • Linux系统中inode占用100%的解决办法

    千次阅读 2018-05-29 23:07:12
    导语当你的 Linux 系统无法创建新文件时,有可能是你的磁盘满了,还有可能是你的磁盘的 inode 用光了,我们今天要说的就是后一种情况,要解决这个问题,只能是删除一些文件,但是一般情况下,其实是你的系统中的某个...
    导语
    当你的 Linux 系统无法创建新文件时,有可能是你的磁盘满了,还有可能是你的磁盘的 inode 用光了,我们今天要说的就是后一种情况,要解决这个问题,只能是删除一些文件,但是一般情况下,其实是你的系统中的某个地方产生了大量的你并不需要的文件,你要做的就是找到他们并删除就可以了,我并不是让你删除你有用的文件,因为你一般不会有那么多有用的文件来把系统的 inode 用光。
    什么是 inode ?
    文件储存在硬盘上,硬盘的最小存储单位叫做”扇区”(Sector)。每个扇区储存512字节(相当于0.5KB)。
    操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个”块”(block)。这种由多个扇区组成的”块”,是文件存取的最小单位。”块”的大小,最常见的是4KB,即连续八个 sector组成一个 block。
    文件数据都储存在”块”中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为”索引节点”。
    每一个文件都有对应的inode,里面包含了与该文件有关的一些信息。
    如何查看系统的 innode 占用情况
    df -ih
    如何查找那个目录下文件最多
    首先切到根目录  /
    cd /
    然后执行
    for i in /*; do echo $i ; find $i | wc -l; done
    或者
    for i in `ls - 1 A | grep -v "\.\./" | grep -v "\./" `; do echo "`find $i | sort -u | wc -l` $i " ; done | sort -rn | head - 10
    这样会依次返回 / 目录下文件最多的目录,进入这个目录,再执行上述命令,就这样层层深入最终确定是那个目录文件最多
    如何删除那个目录的的所有文件
    一般情况下,如果这个目录下应该会有数以百万的文件,如果你直接用  rm -rf 目录名  的话效率会很低,可以用下面方法
    find 目录 - type f -name '*' -print0 | xargs - 0 rm
    时间可能会比较久,所以你最好开一个 screen 来处理
    有可能是你遇到了下面的情况
    /var/spool/postfix/maildrop 下面有很多文件
    为了避免,可以执行  crontab -e
    在最开头添加  MAILTO='"'  保存,然后  server crond restart  重启 crond
    展开全文
  • 当你的 Linux 系统无法创建新文件时,有可能是你的磁盘满...
  • 需求:查看系统分区表信息,磁盘空间及inode占用
  • Linuxinode详解

    2017-08-26 13:14:28
    LinuxInode详解
  • 图解linuxInode-分析Linux如何通过Inode读取磁盘

    千次阅读 多人点赞 2014-10-26 10:07:46
    1、什么是inode? 首先要明白,linux中所有的东西都是文件,不管是目录还是命令 操作系统读硬盘的时候,为了提高效率,一次性读取一个block(常见...而Inode就是帮助linux系统快速定位到指定文件而创建的额特殊的文件
  • linuxinode

    2011-06-16 19:55:22
    Inodelinux/unix操作系统中的一种数据结构 ,包含了各文件相关的一些重要信息。在创建文件系统时,就会同时创建大量的inode。一般inode表会占用文件系统磁盘空间的1%。   与Inode相关的还有一个概念就是i...
  • inode是Unix体系下用来描述文件对象(文件或目录)的一种数据结构,理解inode有助于提高我们对Unix类操作系统的操作水平。理解inode,要从文件存储说起文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个...
  • Linuxinode

    2014-09-06 14:58:56
    转自: http://www.ruanyifeng.com/blog/2011/12/inode.html http://blog.s135.com/post/295/  ... 一、inode是什么? 理解inode,要从文件储存说起
  • linuxinode与block

    2021-05-18 19:25:11
    inode 索引节点 用于存储文件属性信息,类型,权限,时间信息,类型信息 创建文件系统之后就会有了inode ... 用于存储块的指针位置,创建一个文件至少占用一个inode一个block 在同一个分区中。两个文件的inode号码
  • 本文大量参考阮一峰大神博客,整理笔记...由于本人对linux研究有限,目前参考大量阮一峰大神博客整理而成。解决inode爆满问题一般inode爆满情况就较为严重了,程序运维会有问题,会报磁盘无空间 No space left on de...
  • inode号一、相关概念1.1 扇区、块1.2 inode二、Linux 文件存储2.1 inode的数量限制2.2 inode 的内容2.3 Linux系统文件三个主要的时间属性三、inode的特殊作用四、inode 节点耗尽故障处理(模拟实验) 一、相关概念 ...
  • linuxinode

    2011-10-11 18:13:34
    首先了解一下文件系统如何存取文件的 1、根据文件名,通过Directory里的对应关系,找到文件对应的Inode ...2、再根据Inode number读取到文件的Inode table 3、再根据Inode table中的Pointer读取到相应的Blocks 这里
  • Linuxinode简单介绍

    2020-07-21 15:04:40
    通过查看资料发现这个失效的原因正是和我们今天讲的inode息息相关,(具体原因也可以参考我上边提到的博客),所以去研究了下什么是Linux系统中的inode。 书归正传。。。 操作系统的文件数据除了实际内容之外,通
  • Linuxinode简介

    千次阅读 2018-10-09 23:15:52
    1 inode简介 &nbsp; &nbsp; 理解inode,要从文件储存说起。 &nbsp; &nbsp; 文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。 &nbsp...
  • linux索引inode详解

    千次阅读 2016-09-01 12:49:07
    1、inode简介  文件系统是数据在硬盘上的一种排列组织方式,linux每个分区都可以格式化为不同的文件系统,所以可以说每个分区都是一个文件系统,都有自己的目录层次结构。而在目录之下,linux已经将所有的资源处理...
  • linux系统iNode耗尽

    2015-12-17 15:46:36
    df -hi 查看,发现IUse% 已100% Filesystem Inodes IUsed IFree IUse% Mounted on ...系统中文件数量太多了,可能是/tmp或hadoop log或其他临时文件占用完了inode, 需要找到并删掉那些文件以释放inode即可。
  • 解决inode占用过多

    千次阅读 2018-12-05 00:01:02
    要理解inode,要从文件存储说起,Linux系统文件在物理上都是存储在硬盘上面的,硬盘存储里面,最小存储单位是"扇区(Sector)",每个扇区存储512字节 操作系统在读取硬盘的时候不会一个一个读取扇区,这样效率很低,...
  • Linuxinode的理解

    2016-07-01 09:44:46
     在一台Linux服务器的/data分区内创建文件时,系统提示磁盘空间不足,用df -h命令查看了一下磁盘使用情况,发现/data分区只使用了66%,还有12G的剩余空间。 二、分析问题:  用df -i查看了一下/data分区的索引节点...
  • inode占用异常问题

    2015-03-04 19:03:04
    报警:Free inodes on /var (percentage) (linuxhost:vfs.fs.inode[/var,pfree]): 20 %故障原因:/var/spool/postfix/maildrop 小文件太多造成inode索引使用完1)查看inode使用状况;#df-i /dev/sda...
  • LINUXinode理解

    千次阅读 2017-08-01 13:38:20
    本文将主要从9个方面来对inode进行解释: 一、inode是什么? 理解inode,要从文件储存说起。 文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。   操作系统...
  • 关于linuxinode

    2011-08-28 18:11:52
    Inodelinux/unix操作系统中的一种数据结构,包含了各文件相关的一些重要信息。在创建文件系统时,就会同时创建大量的inode。一般inode表会占用文件系统磁盘空间的1%。   与Inode相关的还有一个概念就是inumber...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 29,685
精华内容 11,874
关键字:

linux查看inode占用

linux 订阅