“"No space left on device" 磁盘空间提示不足之100 % inodes”的版本间的差异

来自linux中国网wiki
跳到导航 跳到搜索
(创建页面,内容为“=why and what = <pre> 其实这个,在游戏时 常常遇到 一般是邮件小文件导致的,试试 执行 find /var/spool/postfix/maildrop/ -type f |xargs r…”)
 
 
(未显示同一用户的17个中间版本)
第1行: 第1行:
 
=why and what =
 
=why and what =
 
<pre>
 
<pre>
其实这个,在游戏时 常常遇到
+
什么是 inode ?
 +
文件储存在硬盘上,硬盘的最小存储单位叫做”扇区”(Sector)。每个扇区储存512字节(相当于0.5KB)。
 +
操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个”块”(block)。这种由多个扇区组成的”块”,是文件存取的最小单位。”块”的大小,最常见的是4KB,即连续八个 sector组成一个 block。
 +
文件数据都储存在”块”中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为”索引节点”。
 +
每一个文件都有对应的inode,里面包含了与该文件有关的一些信息。
 +
 
 +
其实这个,在游戏时 常常遇到   正式环境的 先用下面的find 先不要删除
 
一般是邮件小文件导致的,试试 执行  
 
一般是邮件小文件导致的,试试 执行  
 
  find /var/spool/postfix/maildrop/ -type f |xargs rm -rf
 
  find /var/spool/postfix/maildrop/ -type f |xargs rm -rf
第9行: 第15行:
 
说明了一切, 下一步是看哪个目录比较可怕  
 
说明了一切, 下一步是看哪个目录比较可怕  
  
for i in /data/*;do echo $i; find $i | wc -l; done
+
for i in /data/*;
 +
do
 +
echo $i; find $i | wc -l;  
 +
done
 
根据结果来处理喽  
 
根据结果来处理喽  
  
 +
 +
给提问的同学解说一下
 +
i in /data/* 等同于 ls -l /data*
 +
 +
find $i |wc -l  如下
 +
 +
evan@myxps:~/sscf$ find  vm 
 +
vm
 +
vm/121
 +
vm/121/dnsmasq
 +
vm/121/mq
 +
evan@myxps:~/sscf$ find  vm  |wc  -l
 +
4
 +
 +
 +
 +
#!/bin/bash
 +
#循环的跑一下
 +
while [ 1 ]
 +
do
 +
sudo -u apache  php artisan cache:clear
 +
done
 +
 +
 +
sudo -u apache php artisan cache:clear
 +
 +
#上面的如果不行 那就手工删除
 +
cd storage/framework/cache/data
 +
 +
 +
#按时间排序,删除最后的10个文件
 +
ls -t | tail -10 | xargs rm -rf
 +
 +
如果目录层次太多  打包压缩也是一个办法
 
</pre>
 
</pre>
=see also=
+
 
 +
=references=
 +
 
 +
[https://zhuanlan.zhihu.com/p/346096516 Linux系统inodes资源耗尽问题]
 +
 
 +
https://serverfault.com/questions/774715/100-inodes-in-root-directory-how-to-free-inodes
 +
 
 
[https://blog.51cto.com/u_12643266/2352355  "No space left on device" 磁盘空间提示不足解决办法]
 
[https://blog.51cto.com/u_12643266/2352355  "No space left on device" 磁盘空间提示不足解决办法]
 +
 +
[https://cloud.tencent.com/developer/article/1411374 关于inodes占用100%的问题及解决方法]
 +
 +
[https://blog.csdn.net/congnuo5674/article/details/100367183  关于linux中无法创建文件,设备上没有空间的报错]
 +
 +
[http://www.dahouduan.com/2014/12/19/Linux-inode-full/ linux inode 占用100%的解决办法]
 +
 +
[https://blog.csdn.net/renle177/article/details/80503666  Linux inode 占用100%的解决办法]
 +
 +
 +
[[category:devops]]

2022年9月1日 (四) 11:23的最新版本

why and what

 什么是 inode ?
 文件储存在硬盘上,硬盘的最小存储单位叫做”扇区”(Sector)。每个扇区储存512字节(相当于0.5KB)。
 操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个”块”(block)。这种由多个扇区组成的”块”,是文件存取的最小单位。”块”的大小,最常见的是4KB,即连续八个 sector组成一个 block。
 文件数据都储存在”块”中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为”索引节点”。
 每一个文件都有对应的inode,里面包含了与该文件有关的一些信息。

其实这个,在游戏时 常常遇到   正式环境的 先用下面的find 先不要删除 
一般是邮件小文件导致的,试试 执行 
 find /var/spool/postfix/maildrop/ -type f |xargs rm -rf
 但是今天遇到的居然是 /data
 
df -i 
说明了一切, 下一步是看哪个目录比较可怕 

for i in /data/*;
do
 echo $i; find $i | wc -l; 
done
根据结果来处理喽 


给提问的同学解说一下 
i in /data/* 等同于 ls -l /data*

find $i |wc -l  如下 

evan@myxps:~/sscf$ find  vm  
vm
vm/121
vm/121/dnsmasq
vm/121/mq
evan@myxps:~/sscf$ find  vm  |wc  -l 
4



#!/bin/bash
#循环的跑一下 
while [ 1 ]
do
sudo -u apache  php artisan cache:clear
done


sudo -u apache php artisan cache:clear

#上面的如果不行 那就手工删除 
cd storage/framework/cache/data


#按时间排序,删除最后的10个文件 
ls -t | tail -10 | xargs rm -rf 

如果目录层次太多  打包压缩也是一个办法 

references

Linux系统inodes资源耗尽问题

https://serverfault.com/questions/774715/100-inodes-in-root-directory-how-to-free-inodes

"No space left on device" 磁盘空间提示不足解决办法

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

关于linux中无法创建文件,设备上没有空间的报错

linux inode 占用100%的解决办法

Linux inode 占用100%的解决办法