首页 > 系统相关 >Linux索引节点(Inode)用满导致空间不足

Linux索引节点(Inode)用满导致空间不足

时间:2023-06-30 23:01:18浏览次数:35  
标签:文件 Inode 索引 Linux rm 用满 inode 目录

1、问题:

在创建新目录和文件是提示“no space left on device”!按照以前的情况,很有可能是服务器空间又被塞满了,通过命令查看,发现还有剩余。

再用df -i查看了一下/分区的索引节点(inode),发现已经用满(已用=100%),导致系统无法创建新目录和文件。

2、问题原因分析:

Inode译成中文就是索引节点,每个存储设备(例如硬盘)或存储设备的分区被格式化为文件系统后,应该有两部份,一部份是inode,另一部份是 Block,Block是用来存储数据用的。而inode呢,就是用来存储这些数据的信息,这些信息包括文件大小、属主、归属的用户组、读写权限等。 inode为每个文件进行信息索引,所以就有了inode的数值。操作系统根据指令,能通过inode值最快的找到相对应的文件。
而这台服务器的Block虽然还有剩余,但inode已经用满,因此在创建新目录或文件时,系统提示磁盘空间不足。
Inode的数量是有限制的,每个文件对应一个Inode,那么如何查看inode的最大数量呢?

可以看到Inode的总量,已经使用的Inode数量,和剩余数量。

3、解决:

1)查找满的目录:

 

[root@abc sbin]# for i in /*; do echo $i; find $i | wc -l; done
    /bin
    121
    ...
    /sys
    8145
    /tmp
    7
    /usr
    56840
    /var
    8019



然后找到inode占用最多额目录下,再用上面命令查看。

2)删除文件占用多的目录:

进入目录直接rm -rf 可能会卡死,可以使用下面方式:

 

find dir -type f -name '*'  | xargs rm

或者

 

    cd dir
    ls | xargs rm -f

 

4、拓展:

 

系统中有用户开启了cron,而cron中执行的程序有输出内容,输出内容会以邮件形式发给cron的用户,而sendmail没有启动所以就产生了这些文件;
解决办法:
将crontab里面的命令后面加上 > /dev/null 2>&1 或者crontab里面的命令后面加上 > /dev/null

2、

标签:文件,Inode,索引,Linux,rm,用满,inode,目录
From: https://blog.51cto.com/u_3369545/6595405

相关文章

  • linux系统使用审计audit查看系统安全情况。
    查看审计报告一旦定义审计规则后,它会自动运行。过一段时间后,我们可以看看auditd是如何帮我们跟踪审计的。Auditd提供了另一个工具叫aureport。从名字上可以猜到,aureport是使用系统审计日志生成简要报告的工具。我们已经配置auditd去跟踪/etc/passwd文件。auditd参数设置后一段......
  • Linux编译过程以及生成中间文件--链接
    1、编译系统C源文件到可执行文件共经历了4个过程。在使用GCC编译程序时,编译过程可以被细分为四个阶段,包括预处理、编译、汇编、链接 1、预处理在预处理阶段,编译器主要作加载头文件、宏替换、条件编译的作用。一般处理带“#”的语句。 我们可以通过gcc的-E选项进行查看......
  • 关于Linux内核-live-patching-更新内核补丁模块
    由于内核补丁模块是通过RPM软件包交付和应用,更新累积内核补丁模块就如同更新任何其他RPM软件包一样。先决条件:系统已订阅实时补丁流,如将当前安装的内核订阅到实时补丁流中所述。流程如下:更新至当前内核的新累计版本:#yumupdate"kpatch-patch=$(uname-r)"以上命令......
  • 关于Linux系统-内核-live-patching-的介绍
    关于Linux,我们可以使用RedHatEnterpriseLinux内核实时修补解决方案在不重启或者重启任何进程的情况下对运行的内核进行补丁先看一下官网的一段关于Applyingpatcheswithkernellivepatching的介绍:YoucanusetheRedHatEnterpriseLinuxkernellivepatchingsol......
  • linux使用宏
    在普通模式下输入qa(a表示使用a寄存器,也可以qb或qc)输入之后会显示录制或者recoding,输入需要记录的指令之后输入q结束录制在普通模式下输入@a执行录制在a寄存器中的宏,10@a表示执行10次......
  • Linux下mount命令出现Host is down的解决方法
    1、Linux下mount命令出现Hostisdown的解决方法https://jingyan.baidu.com/article/cb5d6105cec1a4005c2fe084.html当使用Linux中的mount命令挂载一个Windows的共享目录的时候有时会出现:mounterror(112):HostisdownRefertothemount.cifs(8)manualpage(e.g.manmount.c......
  • linux 在线安装 Redis
    博主介绍:✌博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家✌Java知识图谱点击链接:体系化学习Java(Java面试专题)......
  • linux上 arthas 的安装
    博主介绍:✌博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家✌Java知识图谱点击链接:体系化学习Java(Java面试专题)......
  • Rocky Linux9.2部署docker
    RockyLinux9.2部署docker......
  • linux 系统mount的基本格式及用法
    1、https://help.aliyun.com/knowledge_detail/72719.html?spm=5176.10695662.1996646101.searchclickresult.748f3ea1mxowC42、mount的基本格式为mount[-tvfstype][-ooptions]devicedir。“-tvfstype”指定文件系统的类型,一般文件格式有以下几种。光盘或光盘镜像:iso9660。......