【inode】Linux服务器inode索引节点用满原因以及解决方法

系统出现异常

我们团队的阿里云服务器在前几天运行过程中,服务器CPU负载长时间达到100%,并且不能通过ssh连接服务器。
经过重启服务器后对服务器进行连接,发现

  • 服务器上的crontab不能正常运行
  • php-fpm服务不能正常开启

crontab的报错提示为

正在启动 crond:crond: can’t open or create /var/run/crond.pid: 设备上没有空间

php-fpm的报错提示为

Fatal Error Unable to create lock file: Bad file descriptor (9)

问题排查

磁盘空间

由于crontab的反馈是没有空间,于是开始对服务器的磁盘空间进行检查

[root@********** ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1       20G   13G  6.5G  66% /
tmpfs           1.9G     0  1.9G   0% /dev/shm  

发现磁盘空间是够用的。

inode


[root@****** ~]# df -i
Filesystem      Inodes   IUsed  IFree IUse% Mounted on
/dev/xvda1     1310720 1306882   3838  100% /
tmpfs           490143       1 490142    1% /dev/shm

发现磁盘上的inode空间被全部耗尽

分析问题

出现inode被耗尽的原因主要是大量的碎片文件和小文件占用的inode的使用。

Linux上的inode的原理文章很多,不再赘述。

解决方法

根据和阿里云售后工程师的沟通,解决inode用满的方式有下面几种

  1. 排查清理服务器内无效文件、碎片文件,垃圾文件。
  2. 转移非在用的数据到数据盘或本地存档。
  3. 考虑通过自定义镜像来更换系统时扩容来增加iNode容量。

解决实践

这里采用了第三种方式

经过系统盘的扩容,系统盘从原来的20G扩充为40G,同时inode的容量也变成了原来的两倍。


[root@********** ~]# df -i
Filesystem      Inodes   IUsed   IFree IUse% Mounted on
/dev/xvda1     2621440 1311396 1310044   51% /
tmpfs           490143       1  490142    1% /dev/shm
[root@********* ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1       40G   13G   25G  33% /
tmpfs           1.9G     0  1.9G   0% /dev/shm

参考资料

后记

技术人员的需要经历一款产品的调研、开发、部署、迭代,这样才能够得到全面的成长。

时间: 2024-09-08 08:16:22

【inode】Linux服务器inode索引节点用满原因以及解决方法的相关文章

详解Linux系统中inode索引节点已满问题的解决方法

  今天login server的一个网站,发现login后没有生成session.根据以往经验,一般是空间已满导致session文件生成失败. 代码如下: df -h 代码如下: Filesystem Size Used Avail Use% Mounted on /dev/mapper/dev01-root 75G 58G 14G 82% / udev 2.0G 4.0K 2.0G 1% /dev tmpfs 396M 292K 396M 1% /run none 5.0M 0 5.0M 0

Linux系统造成处理Tomcat异常的原因和解决方法

  Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,是开发和调试JSP 程序的首选.对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求.实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的.因为Tomcat 技术先进.性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商

用IE登录Linux服务器上的em出现的乱码的解决

linux服务器|解决 用IE登录Linux服务器上的em出现的乱码的解决 作者: Fenng 问题描述 在Linux(Unix)环境下成功安装了Oracle 10g,从windows下用IE浏览器登录 10g 的em, 按钮是"口口"这样的方框. 解决办法 其实严格的说来,这是Java的问题.JDK Swing采用TrueType 字体作为按钮的显示字体,如果你的JDK 找不到中文字体用来显示,你看到的一些按钮就变成小方块的样子. 一般情况下, 我们只需要修改相应的 font.pro

Linux服务器上用iScanner删除网页恶意代码的方法

  Linux服务器上怎么用iScanner删除网页恶意代码?这篇文章主要介绍了Linux服务器上用iScanner删除网页恶意代码的方法,iScanner为Ruby编写,所以服务器上要首先安装Ruby解释器,需要的朋友可以参考下 第一步:安装 首先要确保服务器上已经安装了Ruby 代码如下: #ruby -v //查看ruby的版本信息 如果服务器上没有安装,可以通过yum或者apt-get安装ruby(根据自己服务器系统选择对应的方法安装) 代码如下: #yum install ruby /

WEB服务器为何被挂马以及被黑的原因和解决方法

携带并传播"木马"病毒的网站数量首次下降,"木马"病毒大肆传播的势头受到有效遏制.瑞星公司今天发布的<2009年上半年互联网安全报告>显示,今年上半年,瑞星"云安全"系统拦截到的"挂马"网页数为2.9亿个,共记录11.2亿次"木马"攻击报告,广东.北京.湖南是受攻击次数最多的三个省市.据统计,有35%的"挂马"网站服务器位于北京.虽然"挂马"网站数量比去年

Ubuntu安装telent服务器时出现:apt-get:Package has no installation的原因及解决方法_Linux

当我在终端敲下这条命令的时候,系统就提示telnetd:apt-get:Package has no installation sudo apt-get install xinetd telnetd 刚开始我以为是没有这个包,后来查了一下资料发现,有这个软件,于是百度了一下才知道解决以上问题需要如下操作: # apt-get update # apt-get upgrade # apt-get install <packagename> 这样就可以正常使用apt-get了. 接下来就按照以前转

Linux下的段错误产生的原因及调试方法

Linux下的段错误产生的原因及调试方法     简而言之,产生段错误就是访问了错误的内存段,一般是你没有权限,或者根本就不存在对应的物理内存,尤其常见的是访问0地址. 一般来说,段错误就是指访问的内存超出了系统所给这个程序的内存空间,通常这个值是由gdtr来保存的,他是一个48位的寄存器,其中的32位是保存由它指向的gdt表,后13位保存相应于gdt的下标,最后3位包括了程序是否在内存中以及程序的在cpu中的运行级别,指向的gdt是由以64位为一个单位的表,在这张表中就保存着程序运行的代码段以

国外VPS服务器抽风原因以及解决方法

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 抽风,是一种疾病,在常用语言多指人的行为举止不正常,让人无法解理.而站长口中的抽风,是指因为VPS服务器的各种各样的问题而导致明显的网络延迟.网络不稳定甚至于网站无法访问.站长们判断VPS服务器是不是在抽风主要是观察ping值的大小,以及会不会断ping.国内的网络ping国外的VPS服务器一般ping值都在400ms以下,如果超过400ms

本地SharePoint服务器不可用的原因及解决方法

多用户使用同一测试机进行SharePoint开发时,发现只有Administrator用户可以正确的部署程序集到SharePoint,其他用户即使加到管理员组中也无法部署,VisualStudio2010部署时,提示错误: 部署步骤"回收 IIS 应用程序池"中出现错误: 本地 SharePoint 服务器不可用.请检查该服务器是否正在运行并连接到 SharePoint 服务器场. 原因是该用户虽然对SharePoint网站和SharePoint的前端服务器有控制权,但对SharePo