zoukankan      html  css  js  c++  java
  • linux-linnode满了的提示

    线上有一台web服务器磁盘检测告警了,提示空间不足,登到服务器查看

    <ignore_js_op> 
    touch:cannot touch `furm.html': No space left on device
    使用df -h命令查看发现


    <ignore_js_op> 

    /data/web分区只使用了2%,创建文件却提示磁盘空间不足,按道理不会出现这种情况的。怀疑是inode耗尽导致。

    分析导致的原因:
    使用df –i查看发现inode已经耗尽,则系统上将不能创建文件
    <ignore_js_op> 



    查找原因并解决

    /data/web是线上业务数据目录,其中有个程序产生大量的小文件造成的。可通过下面的命令找出占用空间最多的文件或目录:

    find / -type d -size +10M
    此命令作用是找出大小大于10M的目录(目录大小越大,表示目录下的文件越多)。

    大量的小文件分布在大量的目录下
    cd /
    find */ ! -type l | cut -d / -f 1 | uniq -c

    此命令作用是找出目录下文件总数,可能需要执行多次。比如上面的命令找出了/data目录下存在大量的小文件,但/data/目录还有很多目录,这时候我们还需要继续执行:

    cd /data
    find */ ! -type l | cut -d / -f 1 | uniq -c
    直到找出具体的目录。


    在/data/web下有超多的文件 ls 半天没反应
    用rm -rf * 会自动跳出root,用xargs来解决。
    # ls | xargs rm –f
    此时用df –i命令查看发现正常了,创建文件也不会出现错误
    <ignore_js_op> 



    另外:
           要注意的是下面这个目录当安装了sendmail服务但是没有开启的话,这个目录也会临时产生大量的小文件,按照上面的解决方法解决即可。
    # cd /var/spool/clientmqueue
    # ls | xargs rm –f
    原因分析:系统中cron执行的程序有输出内容,输出内容会以邮件形式发给cron的用户,而sendmail没有启动所以就产生了这些文件;
    解决办法:  将crontab里面的命令后面加上>/dev/null 2>&1

    总结
        对inode占用进行监控,并且收到inode告警时应及时使用以上方法来定位问题,并反馈给相应人员从根源解决。以后遇到类似的问题要注意,用df -i 检查inode的使用情况。





    扩展:
    查看block和inode的大小

    1
    2
    3
    4
    5
    6
    7
    [iyunv@bier ~]# dumpe2fs /dev/sdb1 |grep -i"Block size"
    dumpe2fs 1.41.12 (17-May-2010)
    Block size:               1024

    [iyunv@bier ~]# dumpe2fs /dev/sdb1 |grep -i"Inode size"
    dumpe2fs 1.41.12 (17-May-2010)
    Inode size:               128





    查看block和inode的总的数量(一般是block大于inode数量)

    1
    2
    3
    4
    5
    6
    7
    [iyunv@bier ~]# dumpe2fs /dev/sdb1 |grep"Block count"
    dumpe2fs 1.41.12 (17-May-2010)
    Block count:              524272

    [iyunv@bier ~]# dumpe2fs /dev/sdb1 |grep"Inode count"
    dumpe2fs 1.41.12 (17-May-2010)
    Inode count:              131072
  • 相关阅读:
    jchdl
    jchdl
    UVa 10256 (判断两个凸包相离) The Great Divide
    UVa 11168 (凸包+点到直线距离) Airport
    LA 2572 (求可见圆盘的数量) Kanazawa
    UVa 10652 (简单凸包) Board Wrapping
    UVa 12304 (6个二维几何问题合集) 2D Geometry 110 in 1!
    UVa 10674 (求两圆公切线) Tangents
    UVa 11796 Dog Distance
    LA 3263 (平面图的欧拉定理) That Nice Euler Circuit
  • 原文地址:https://www.cnblogs.com/showker/p/8978913.html
Copyright © 2011-2022 走看看