zoukankan      html  css  js  c++  java
  • python_清理占用内存的脚本

    脚本内容如下:

    vim    ~/shell/clean_cache.py

     1 #!/usr/bin/python
     2 #conding=utf-8
     3 #该脚本用于清理服务器当中占用内存20G以上,运行时间超过3小时以上(或1天以上的)进程。
     4 import os
     5 #import psutil
     6 
     7 pslist = os.popen('ps -auxf','r').readlines()
     8 for list in pslist:
     9         p = list.split()                           #以空格分割
    10         user = p[0]                                #用户
    11         pid = p[1]                                    #进程PID    
    12         mem = p[4]                                    #内存
    13         day = p[8]                                    #日期
    14         t = p[9]                                    #运行时间
    15         if mem.isdigit()  and int(mem) > 20000000:  #剔除第一行vsz并且保证占用内存大于20G
    16                 if day.isalnum():                   #判断日期是否为今天
    17                         print day.isalnum()
    18                         print "progess running over a day,kill it now!"
    19                         cmd = "kill -9 "+pid
    20                         os.popen(cmd)
    21                 if int(t.split(':')[0]) > 180:      #判断运行时间超过3小时
    22                         print t.split(':')[0]
    23                         print "this progesss have run over 2 hour,kill it now!"
    24                         cmd = "kill -9 "+pid
    25                         os.popen(cmd)
    26         else:   
    27                 continue 

    以上是单台的服务器的脚本内容,其实可以结合crontab或者可以与ansible的script模块来批量执行,会达到更好的效果!

    举例: ansible all -m script -s -a "/home/xxx/shell/clean_cache.sh"

  • 相关阅读:
    17-vue-cli脚手架安装和webpack-simple模板项目生成
    15-其它
    14-表单输入绑定
    k8s组件通信或者创建pod生命周期
    升级CentOS 7.4内核版本--升级到最新
    Linux
    Statefulset的拓扑状态
    nginx浏览器开启密码验证
    为什么我们需要Pod?(容器设计模式sidecar)
    mysql内存优化
  • 原文地址:https://www.cnblogs.com/to-be-rich/p/7580693.html
Copyright © 2011-2022 走看看