admin管理员组

文章数量:1558058

记一次服务器清理过程

一进服务器查看文件按tab键报错cannot create temp file for here-document: No space left on device,心想估计是内存满了

处理

  1. free -h查看可用内存

    发现可用内存够的

  2. df -h查看内存占用率

    98%…首先想到的是日志满了

  3. 顺便看看服务器内核cat /proc/cpuinfo

    cpu cores参数可以看出服务器是一核的
    cpu MHz 2G

  4. du -sh * 查看文件占用内存大小

    中间的错误可以看出问题出在哪了,由于删除了日志保存文件,但是进程仍在运行,无法写入,所以导致磁盘被占满。(我的理解是这样,具体的可以去研究下)

    顺便把占用内存比较大的几个目录也清理下,可以从几个点入手

    # 1. 数据库、nginx等进程可以重启下再df -h看看是否多了些可用空间
    # 2. apt无用软件包,可能已经卸载了,但是安装包还在。
    apt clean
    # 3. 清理僵尸进程及缓存 
    echo 3 > /proc/sys/vm/drop_caches
    # 4. 手动清理文件,du -sh找到最终占用内存的文件后
    > file
    
  5. top命令查看进程的cpu占用情况,其实到这步已经差不多了

总结:

    好在这只是我的自己的服务器,而且内存并不大,40G,1核(阿里云赠送活动说的是2核?)。但偶尔出现的这种内存满的情况也让我提升了经验。

    在公司的生产服务器上,应该编写脚本或使用工具定时清理缓存,安装包,无用文件,并对服务器资源占用情况做个阈值报警(当然阿里云对这些花钱多的客户本身就有相应的告警服务)

    本篇结束

本文标签: 服务器