zoukankan      html  css  js  c++  java
  • inode引起的Linux无法创建新文件,磁盘空间不足

      df -h,判断硬盘空间是否已经满了,占用率达100% ,就可以断定该分区满了。

      df -ia,占用率达100%,也会导致无法创建新文件。一般都是存在大量小文件引起的。

      inode包含文件的元信息,具体来说有以下内容:
      * 文件的字节数
      * 文件拥有者的User ID
      * 文件的Group ID
      * 文件的读、写、执行权限
      * 文件的时间戳,共有三个:ctime指inode上一次变动的时间,mtime指文件内容上一次变动的时间,atime指文件上一次打开的时间。
      * 链接数,即有多少文件名指向这个inode
      * 文件数据block的位置
     
      每个文件都必须有一个inode,因此有可能发生inode已经用光,但是硬盘还未存满的情况。这时,就无法在硬盘上创建新文件。
     
      

      inode满了一般就是垃圾小文件越多造成的,linux下有很多服务会生成日志文件,如果处理不当,几年下来删除都是个头痛事(上万文件后 rm 使用就困难,甚至rm无法全部删除)。常见 crontab 定时服务就会产生邮件日志,一般不需要邮件的可在 crontab -e 中最上面添加一行  MAILTO=""  关闭邮件发送。

      当找到的目录中存在上百万文件时 rm 是无法一次性删除的,可以使用rsync命令来删除:

      mkdir /tmp/del_path  #创建临时空目录

           rsync --delete  -a -H -v  /tmp/del_path/  /val/logs/   #删除/val/logs/下所有文件

  • 相关阅读:
    Android 程序员必须知道的 53 个知识点
    2017.8.27 考试
    hdu 3118 Arbiter
    UVA 1575 Factors
    [HNOI2008]Cards
    JSOI2008 小店购物
    hdu 2121 Ice_cream’s world II
    poj 3164 Command Network(最小树形图模板)
    [USACO14MAR] Counting Friends
    UVA 10479 The Hendrie Sequence
  • 原文地址:https://www.cnblogs.com/lnlvinso/p/10171174.html
Copyright © 2011-2022 走看看