当前位置: 首页 > 面试题库 >

如何释放Inode使用率?

李华茂
2023-03-14
问题内容

我有一个inode使用率为100%(使用df -i命令)的磁盘驱动器。但是,在实质上删除文件后,使用率仍为100%。

那么正确的方法是什么?

与磁盘空间使用量较高的磁盘驱动器相比,磁盘空间使用量较少的磁盘驱动器如何可能具有更高的Inode使用率?

如果我压缩大量文件,是否有可能减少使用的inode数量?


问题答案:

即使磁盘不是很满,也很容易使用大量的索引节点。

索引节点已分配给文件,因此,如果您有成千上万个文件(每个都1个字节),则在磁盘用尽之前,节点将用尽。

如果文件具有多个硬链接,则删除文件也可能不会减少inode的数量。正如我所说,inode属于文件, 而不是
目录条目。如果文件有两个链接的目录条目,则删除其中一个不会释放索引节点。

此外,您可以删除目录条目,但是,如果正在运行的进程仍打开文件,则不会释放索引节点。

我最初的建议是删除所有可以删除的文件,然后重新启动该框以确保没有使文件保持打开状态的进程。

如果您这样做仍然有问题,请告诉我们。

顺便说一句,如果您要查找包含许多文件的目录,此脚本可能会有所帮助:

#!/bin/bash
# count_em - count files in all subdirectories under current directory.
echo 'echo $(ls -a "$1" | wc -l) $1' >/tmp/count_em_$$
chmod 700 /tmp/count_em_$$
find . -mount -type d -print0 | xargs -0 -n1 /tmp/count_em_$$ | sort -n
rm -f /tmp/count_em_$$


 类似资料:
  • 预备条件: Off-By-One 漏洞(基于栈) VM 配置:Fedora 20(x86) 继续使用已经被释放的堆内存指针叫做释放后使用。这个漏洞会导致任意代码执行。 漏洞代码: 编译命令: $gcc -o vuln vuln.c $sudo chown root vuln $sudo chgrp root vuln $sudo chmod +s vuln 注意:不像上一篇文章,ASLR 在这里是

  • 当我使用带有固定连接提供者的TCP客户端时,我不能重用连接。 他们使连接超过maxConnection变量。 这是我写的。 即使我使用10个maxConnection,比如“ConnectionProvider”。固定(“测试”,10)”,有22个空闲连接。天啊 //NettyClient.java //NettyClientTest。Java语言 14:55:27.397[reactor-tcp

  • 知道怎么释放5432端口吗?

  • 我使用HttpClient(https://hc.apache.org/httpcomponents-client-4.5.x/index.html)使许多超文本传输协议调用背靠背和并行。运行一段时间后,它会得到这个异常: 我试图关闭所有我能看到的东西,但我一定还是错过了一些东西,因为它仍然有那个错误。 如何正确释放连接以避免此连接泄漏问题? 下面是重现问题的测试用例,在Windows上以Java

  • 问题内容: 我正在阅读Python内存管理,希望减少应用程序的内存占用。有人建议,子流程可以大大减轻该问题;但是我在概念上需要做些麻烦。可以请一个简单的例子说明如何解决这个问题。 …变成一个 真正的 子处理函数,该函数不存储额外的“自由列表”? 奖励问题: 这个“自由列表”概念也适用于python c扩展吗? 问题答案: 关于优化建议的重要事项是确保仅在子流程中调用该建议。该和是无关的- 一旦你在