“"No space left on device" 磁盘空间提示不足之100 % inodes”的版本间的差异
跳到导航
跳到搜索
(未显示同一用户的15个中间版本) | |||
第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> | ||
− | = | + | |
+ | =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中无法创建文件,设备上没有空间的报错] | [https://blog.csdn.net/congnuo5674/article/details/100367183 关于linux中无法创建文件,设备上没有空间的报错] | ||
[http://www.dahouduan.com/2014/12/19/Linux-inode-full/ linux inode 占用100%的解决办法] | [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
https://serverfault.com/questions/774715/100-inodes-in-root-directory-how-to-free-inodes