linux

作者: shuff1e | 来源:发表于2020-10-25 12:17 被阅读0次
    • 磁盘打满,如何删除文件

    • 文件删除,但是磁盘空间没有释放

    • mv /data/couchbase过程中,ctrl+c
      出现

    # ll
    ls: cannot access 319.couch.24730: Input/output error
    total 0
    -????????? ? ? ? ?            ? 319.couch.24730
    
    image.png

    1.看下文件句柄是否释放

    fuser -m -v /dev/sdb
    lsof | grep 319.couch.24730
    

    发现没有找到进程
    2.是否是磁盘坏了

    umount /dev/sdb
    fsck -y /dev/sdb
    mount /dev/sdb /data
    
    Free blocks count wrong for group #3890 (32767, counted=32768).
    Fix? yes
    
    Free blocks count wrong for group #3923 (32715, counted=32717).
    Fix? yes
    
    Free blocks count wrong for group #4314 (32674, counted=32768).
    Fix? yes
    
    Free blocks count wrong for group #4483 (32763, counted=32768).
    Fix? yes
    
    Free blocks count wrong for group #4963 (32099, counted=32768).
    Fix? yes
    
    Free blocks count wrong for group #11745 (32510, counted=32511).
    Fix? yes
    
    Free blocks count wrong (384214036, counted=384214845).
    Fix? yes
    
    
    /dev/sdb: ***** FILE SYSTEM WAS MODIFIED *****
    /dev/sdb: 49/97599488 files (61.2% non-contiguous), 6183107/390397952 blocks
    [root@~]# fsck -y /dev/sdb
    fsck from util-linux-ng 2.17.2
    e2fsck 1.41.12 (17-May-2010)
    /dev/sdb: clean, 49/97599488 files, 6183107/390397952 blocks
    
    • Q:


      image.png

      为什么 du -sh / 看起来没那么多

    A:
    因为有删除的文件
    lsof |grep /|grep delete


    image.png

    重启下服务就能空出200G

    Q:这个算是磁盘碎片吗?
    A:删除后还在向里面写,然后就出现这情况,文件删除的时候还有写入存在,就导致这个文件占用的空间没被释放,一般重启下服务就好了,不重启释放不了

    实质linux是看一个网卡文件的配置,就是
    /etc/sysconfig/network-scripts/ifcfg-eth0 (这个文件名看你网卡名称而异,具体你到该目录看)
    里面的内容里,有个ONBOOT=yes
    这个就是决定你是否开机启动。 你编辑它,重启network服务就生效了。

    • ifdown是暂时关闭,还要修改网卡的配置文件,下次重启时才不会开启
      关闭外网对应的eth1网卡
      /etc/sysconfig/network-scripts/ifcfg-eth1 这里面的ip都置为0.0.0.0,下次就不会起来了

    • 8077007-9223eb10e7974d93.png
    • vim /etc/sysconfig/network-scripts/ifcfg-eth1

    • 先ifconfig确认下外网ip是否是在eth1网卡上,是的话,再进行后续的操作

    • 孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。孤儿进程将被init进程(进程号为1)所收养,并由init进程对它们完成状态收集工作。

    • 僵尸进程:一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或waitpid获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中。这种进程称之为僵死进程。

    • 孤儿进程是没有父进程的进程,孤儿进程这个重任就落到了init进程身上,init进程就好像是一个民政局,专门负责处理孤儿进程的善后工作。每当出现一个孤儿进程的时候,内核就把孤 儿进程的父进程设置为init,而init进程会循环地wait()它的已经退出的子进程。这样,当一个孤儿进程凄凉地结束了其生命周期的时候,init进程就会代表党和政府出面处理它的一切善后工作。因此孤儿进程并不会有什么危害。

    • 任何一个子进程(init除外)在exit()之后,并非马上就消失掉,而是留下一个称为僵尸进程(Zombie)的数据结构,等待父进程处理。这是每个 子进程在结束时都要经过的阶段。如果子进程在exit()之后,父进程没有来得及处理,这时用ps命令就能看到子进程的状态是“Z”。如果父进程能及时 处理,可能用ps命令就来不及看到子进程的僵尸状态,但这并不等于子进程不经过僵尸状态。 如果父进程在子进程结束之前退出,则子进程将由init接管。init将会以父进程的身份对僵尸状态的子进程进行处理。

    相关文章

      网友评论

          本文标题:linux

          本文链接:https://www.haomeiwen.com/subject/eohbsktx.html