精华内容
下载资源
问答
  • 最后发现解压的时候其实磁盘空间不足 和软件无法打开的原因为同一个: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节点被写满。

    展开全文
  • 解决inode占用过多

    千次阅读 2018-12-05 00:01:02
    前言:某台服务器inode满了,很久没有处理过类似问题了,有点忘记,记录在此 一、理解inode 要理解inode,要从文件存储说起,Linux系统文件在物理上都是存储在硬盘上面的,硬盘存储里面,最小存储单位是"扇区(Sector)...

    前言:
    某台服务器inode满了,很久没有处理过类似问题了,有点忘记,记录在此

    一、理解inode

    要理解inode,要从文件存储说起,Linux系统文件在物理上都是存储在硬盘上面的,硬盘存储里面,最小存储单位是"扇区(Sector)",每个扇区存储512字节

    操作系统在读取硬盘的时候不会一个一个读取扇区,这样效率很低,而是一次性连续读取多个扇区,多个扇区就组成了一个块(block),而这种由多个扇区组成的块,就是文件存储的最小单位,块的大小一般为4KB,也就是说8个扇区组成了一个block

    文件信息存储在block中,如何找到这些block,以及怎么知道这些block存储了哪些内容,如文件的创建人、时间、大小等信息,这些信息又叫元数据,而这种存储元数据的区域就叫做inode,inode就是索引节点

    也就是说每个文件都需要记录这些元信息,也必然会占用inode,因此inode占用过多,多数是小文件太多导致

    二、查找哪里占用inode

    知道了inode占用多是文件多导致之后,那么只需要找到哪些目录下小文件过多,然后删除即可

    1.查看哪个盘占用inode
    df -ih
    clipboard.png

    2.进入该挂载目录,然后通过wc -l统计哪些占用多
    clipboard.png
    clipboard.png
    clipboard.png

    3.可以看到是/var/spool/postfix/maildrop下很多小文件
    clipboard.png

    三、解决

    最简单的办法,是进入该目录,删除这些没用的小文件

    cd /var/spool/postfix/maildrop && find -type f |xargs rm -f

    然后查看,发现inode节点占用已经很低了
    clipboard.png

    查到了/var/spool/postfix/maildrop目录下有大量小文件,原来是crond在执行脚本时会将保持信息以邮件的形式发送给crond用户,而环境的postfix没有正常运行,导致邮件发送失败,都会堆积在/var/spool/postfix/maildrop/目录中,要解决该问题,一是可以启动postfix,让邮件服务正常运行.另外还可以在/etc/crontab中修改配置MAILTO=""发送为空,这样就不会堆积了

    展开全文
  • inode占用异常问题

    2017-11-27 17:44:00
    报警:Free inodes on /var (percentage) (linuxhost:vfs.fs.inode[/var,pfree]): 20 % 故障原因:/var/spool/postfix/maildrop 小文件太多造成inode索引使用完 1)查看inode使用状况; 1 2 #df-i /dev/sda...

    报警:Free inodes on /var (percentage) (linuxhost:vfs.fs.inode[/var,pfree]): 20 %

    故障原因:/var/spool/postfix/maildrop 小文件太多造成inode索引使用完


    1)查看inode使用状况;

    1
    2
    # df -i
    /dev/sda3          985424 788777    196647   81%  /var


    切换到目录/var,检查哪个目录占用inode多

    1
    2
    3
    4
    5
    6
    7
    8
    9
    # find */ ! -type l |cut -d / -f 1 |uniq -c
    /var  目录下:   
      786362 spool
     
      /var/spool  目录下:
      786338 postfix
    /
    var /spool/postfix  目录下: 
      786301 maildrop


    2)查看/var/spool/postfix/maildrop是否有非常多的小文件;

    1
    2
    3
    4
    5
    6
    7
    8
    9
    清理小文件:
    # cd /var/spool/postfix/maildrop; ls | xargs rm -rf; 
    效果:
    /dev/sda3          985424   2495    982929    1%  /var
     
    解决根本问题:
    # vim /etc/crontab
    将MAILTO=root替换成MAILTO= ""
    # service crond restart


    如果cron有什么原因需要将命令结果发一封邮件,那么就要看MAILTO这部分了,如果给MAILTO赋值了,并且不是空,那么就会发给这个用户;如果是空,MAILTO="",那就不发任何邮件。如果没有定义MAILTO,也就是说crontab里面没有写这一行,那么就发给这个crontab的主人。


    进一步检查发现是某用户的crontab执行的脚本失效,已清理。



    本文转自 pcnk 51CTO博客,原文链接:http://blog.51cto.com/nosmoking/1617330,如需转载请自行联系原作者

    展开全文
  • 需求:查看系统分区表信息,磁盘空间及inode占用

    环境:centos7

    需求:查看系统分区表信息,磁盘空间及inode占用


    方法:

    df 命令

    fdisk命令


    [root@liubaiye_PC ~]# which df

    /usr/bin/df


    [root@liubaiye_PC ~]# which fdisk

    /usr/sbin/fdisk


    df -i   //查看inode占用情况

        -i, --inodes          list inode information instead of block usage


    df -h  //查看磁盘使用量(以MB、G等易读方式统计)

        -h, --human-readable  print sizes in human readable format (e.g., 1K 234M 2G)


    fdisk -l   //查看系统分区表信息

            fdisk [options] -l <disk> list partition table(s)


    [root@liubaiye_PC ~]# df -i

    Filesystem      Inodes       IUsed   IFree          IUse% Mounted on

    /dev/sda2        8912384   79710   8832674    1%       /

    devtmpfs        122587      375       122212      1%       /dev

    tmpfs              124990      1           124989      1%       /dev/shm

    tmpfs              124990      440       124550      1%       /run

    tmpfs              124990      16         124974      1%       /sys/fs/cgroup

    /dev/sda1        96496       338       96158        1%       /boot

    tmpfs              124990      1           124989      1%       /run/user/0


    [root@liubaiye_PC ~]# df -h

    Filesystem      Size     Used    Avail   Use% Mounted on

    /dev/sda2        17G     1.9G    16G    11%      /

    devtmpfs         479M        0   479M     0%      /dev

    tmpfs               489M        0   489M     0%      /dev/shm

    tmpfs               489M   6.7M  482M     2%      /run

    tmpfs               489M        0   489M     0%      /sys/fs/cgroup

    /dev/sda1        197M  150M    47M    77%     /boot

    tmpfs               98M          0     98M     0%      /run/user/0



    [root@liubaiye_PC ~]# fdisk -l

    Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0x000b3bca


       Device Boot      Start                 End         Blocks     Id      System
    /dev/sda1   *        2048            411647        204800    83        Linux
    /dev/sda2          411648       36061183    17824768    83        Linux
    /dev/sda3        36061184    40255487       2097152    82        Linux swap / Solaris


    展开全文
  • inode占用率过高处理过程

    千次阅读 2019-07-18 00:02:50
    inode使用率高;0.94[0.9];2019-07-17 17:04:39;B域-应用4A;网管告警Id:39500476 inode 节点使用率过高 查看节点占用情况 df -i 目录文件句柄占用情况 lsof 遍历指定目录查看对应inode使用情况 for i in /var/*; do ...
  • Linux inode 占用100%的解决办法

    千次阅读 2018-05-29 23:17:54
    导语当你的 Linux 系统无法创建新文件时,有可能是你的磁盘满了,还有可能是你的磁盘的 inode 用光了,我们今天要说的就是后一种情况,要解决这个问题,只能是删除一些文件,但是一般情况下,其实是你的系统中的某个...
  • 当你的 Linux 系统无法创建新文件时,有可能是你的磁盘满了,还有可能是你的磁盘的 inode 用光了,我们今天要说的就是后一种情况,要解决这个问题,只能是删除一些文件,但是一般情况下,其实是你的系统中的某个地方...
  • 文件存储在块中(一块=n个扇区),文件元信息存储在inode中。又称索引节点。inode也会消耗硬盘空间,格式化硬盘空间,都是删除inode....另一个是inode区(inode table),存放inode所包含的信息...
  • 执行df -h命令发现空间占用不到50%,执行df -hi,发现某分区IUse%值为99%,说明innode已经用完,应该是某些目录下存在大量的小文件导致。 解决方法: 大量小文件分布有两种可能,一是只有一个或少量目录下存在大量...
  • Linux/centos inode 占用100%的解决办法

    千次阅读 2019-04-15 12:54:00
    如何查看系统的 innode 占用情况 df -i 如何查找那个目录下文件最多 首先切到根目录  / cd / 然后执行 for i in /*; ...
  • 服务器上/下的inode占用多报警了。真心闹心。。。。按照网上的方式折腾的满头大汗, 依然没解决。真心是姿势不对,后来解决了,然后在这分享下,希望踩坑的同学能够有美好的心情,以及少挠头(少掉头发,每次挠头...
  • 登录到服务器上df -i查看,发现/路径下91%,磁盘使用率却不高,猜测可能是某个目录下的小文件过多,进而造成inode占用率过高,但不清楚根路径下各文件夹里的文件数 于是乎执行以下命令,查看根路径下各国文件夹的...
  • linux服务器inode节点占用过高

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

    2021-09-16 11:33:13
    Inode占用硬盘空间 1. inode概念 Sector(扇区) 硬盘的最小存储单位叫做,每个扇区储存512字节。 block(块) 操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次...
  • Inode使用率过高

    千次阅读 2021-07-22 14:31:59
    Linux的inode的理解 inode占用率过高处理过程
  • 这里写自定义目录标题实现快速查看linux某个目录下所有子目录数子文件数的inode文件占用总数 实现快速查看linux某个目录下所有子目录数子文件数的inode文件占用总数 dir=$(ls -l $florder |awk '/^d/ {print $NF}') ...
  • 磁盘 inode 不足

    2015-11-09 13:00:51
    $df-li查找占用iNode最高的文件(一般是大量 文件大小为0的文件),进行处理。进入磁盘根分区,执行以下命令cd /du -cks * | sort -nr | head...ls |xargs -i -t rm -f {}处理完成后,确认一下iNode占用$ df -li ...
  • 利用shell的文件大小查看指令 du -h --max-depth=1 来检查大号文件的位置。... Tips : 如果是TP5框架的存储空间被莫名占用的话,那一般就是日志文件自动生成的原因。 去runtime->log文件夹看看 ...
  • Inode

    2019-05-13 09:49:39
    inode大小 因为inode要存放文件的属性信息以及作为文件索引(指向文件实体block),所以inode是有大小的。 centos5 默认大小128 字节 centos6 非启动分区默认大小256 字节 inode号相同的文件互为硬链接文件 ...
  • SunOS系统的inode满了

    2017-04-14 08:48:14
    SunOS5.10的inode可能满了,但无法使用df -i查询,有没有什么好的办法查到哪个目录下的inode占用的多
  • inode

    2016-11-15 23:56:00
    1、诞生:磁盘被分区并格式化为ext4文件系统,后会生成一定数量的inode和block。 2、inode称为index node索引(目录)节点,它的作用是存放文件的属性信息以及作为文件内容的索引(位置)[指向文件的实体block]。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 33,623
精华内容 13,449
关键字:

inode占用