linux硬盘明明还有空间,linux却说硬盘空间不足?inode;mkdir: 无法创建目录“shen1“: 设备上没有空间

本文主要是介绍linux硬盘明明还有空间,linux却说硬盘空间不足?inode;mkdir: 无法创建目录“shen1“: 设备上没有空间,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在生产环境中,突然服务器上的tomcat,还有一些会产生文件的服务都停掉了。进入服务器,然后打算重新启动服务,发现报以下错误

然后果断使用命令   df -h    查看硬盘的空间是不是被日志给挤满,不过这个一般我都有做定时清理的我觉得不大可能,查询后如下

 

这个时候很疑惑,这个时候我想起之前看了操作系统概论的书,知道系统是有 i  节点跟物理节点的。文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节,

操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个扇区组成的"块",是文件存取的最小单位。"块"的大小,最常见的是4KB,即连续八个 sector组成一个 block。

    文件数据都储存在"块"中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode(索引节点 ),每一个文件都有对应的inode,里面包含了与该文件有关的一些信息

这个时候我们使用  df     -i    命令查看服务器的inode使用情况

发现iNode节点都用完了,这种 情况下满的分区无法新建文件,也无法输出日志,需要输日志的进程一般都会停止工作。

可能原因:

可以看下日志文件是否太多,如果是日志文件占用大量的inodes可以临时释放清理下过期的日志。

也可以根据较大目录的文件占用情况,临时转移部分文件到占用磁盘较小的目录中。
 

解决方法:使用find -exec 遍历,然后执行删除便可。

第一种:删除字节为0的文件

find /home -type  f  -size 0 -exec rm {} \;         #/home是服务器的目录,根据你自己想要查找的文件去释放

find / -type d -size +10M  #找出大小大于10M的目录(目录大小越大,表示目录下的文件越多)。但是如果一个目录很多文件的话,会容易查很久!!!!

配合find */ ! -type l | cut -d / -f 1 | uniq -c  #找出目录下文件总数,可能需要执行多次,直到找出具体的目录。比如上面的命令找出了/home目录下存在大量的小文件,

我这边找出的原因是因为服务器的邮箱文件太多了!!!!!很久没删除过。就是执行定时任务时,不管成功或者失败都会发送一个mail,然后日志文件又放到了服务器上,日积月累下来,导致了很多文件占用了空间。

大家可以重点查看/var/spoo/  目录下的文件大小与个数。主要是/var/spoo/mqueue这个 邮件队列 目录。

我们可以7天清理一次,写一个定时任务,命令如下

find /var/spool/mqueue/*   -type f -mtime +7 -exec rm -rf {} \;

上面这个命令可以用来直接执行。

 

这篇关于linux硬盘明明还有空间,linux却说硬盘空间不足?inode;mkdir: 无法创建目录“shen1“: 设备上没有空间的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/344324

相关文章

豆包 MarsCode 不允许你还没有女朋友

在这个喧嚣的世界里,爱意需要被温柔地唤醒。为心爱的她制作每日一句小工具,就像是一场永不落幕的浪漫仪式,每天都在她的心田播撒爱的种子,让她的每一天都充满甜蜜与期待。 背景 在这个瞬息万变的时代,我们都在寻找那些能让我们慢下来,感受生活美好的瞬间。为了让这份浪漫持久而深刻,我们决定为女朋友定制一个每日一句小工具。这个工具会在她意想不到的时刻,为她呈现一句充满爱意的话语,让她的每一天都充满惊喜和感动

linux-基础知识3

打包和压缩 zip 安装zip软件包 yum -y install zip unzip 压缩打包命令: zip -q -r -d -u 压缩包文件名 目录和文件名列表 -q:不显示命令执行过程-r:递归处理,打包各级子目录和文件-u:把文件增加/替换到压缩包中-d:从压缩包中删除指定的文件 解压:unzip 压缩包名 打包文件 把压缩包从服务器下载到本地 把压缩包上传到服务器(zip

三国地理揭秘:为何北伐之路如此艰难,为何诸葛亮无法攻克陇右小城?

俗话说:天时不如地利,不是随便说说,诸葛亮六出祁山,连关中陇右的几座小城都攻不下来,行军山高路险,无法携带和建造攻城器械,是最难的,所以在汉中,无论从哪一方进攻,防守方都是一夫当关,万夫莫开;再加上千里运粮,根本不需要打,司马懿只需要坚守城池拼消耗就能不战而屈人之兵。 另一边,洛阳的虎牢关,一旦突破,洛阳就无险可守,这样的进军路线,才是顺势而为的用兵之道。 读历史的时候我们常常看到某一方势

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

在cscode中通过maven创建java项目

在cscode中创建java项目 可以通过博客完成maven的导入 建立maven项目 使用快捷键 Ctrl + Shift + P 建立一个 Maven 项目 1 Ctrl + Shift + P 打开输入框2 输入 "> java create"3 选择 maven4 选择 No Archetype5 输入 域名6 输入项目名称7 建立一个文件目录存放项目,文件名一般为项目名8 确定

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多

Linux_kernel驱动开发11

一、改回nfs方式挂载根文件系统         在产品将要上线之前,需要制作不同类型格式的根文件系统         在产品研发阶段,我们还是需要使用nfs的方式挂载根文件系统         优点:可以直接在上位机中修改文件系统内容,延长EMMC的寿命         【1】重启上位机nfs服务         sudo service nfs-kernel-server resta

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念