linux上檢測服務占用記憶體並自動重啟

2022-09-13 17:12:12 字數 1330 閱讀 8436

import os

import socket

def check_the_memory():

ip_list =

hostname = socket.gethostname() #獲取計算機名稱

ip_adress = socket.gethostbyname(hostname)

# print('ip_adress = ', ip_adress)

for k, v in ip_list.items():

if ip_adress == v:

ip_adress = k + ' -- ' + v

memory_list = os.popen('ps -aux | grep python3').readlines()

# print('memory_list = ', memory_list)

for m in memory_list:

# memory_data =

memory_data = [mm for mm in m.split(' ') if mm]

if float(memory_data[3]) > float(75):

# 殺死splash服務

os.popen('kill -9 %s' % int(memory_data[1]))

# 重新啟動docker和splash

os.system("service docker restart")

os.system(r"(docker run -p 8050:8050 scrapinghub/splash &)")

shell_time = time.strftime('%y-%m-%d %h:%m:%s', time.localtime(int(time.time())))

# 查詢重啟後占用記憶體及cpu

time.sleep(10)

memory_result = os.popen('ps -aux | grep python3').readlines()

for m_r in memory_result:

memory_data_result = [mm for mm in m_r.split(' ') if mm]

break

# shell_params = '1'

info = f'''

資訊:kill:

重啟前占用記憶體:,

重啟前占用cpu:,

重啟結果:'已重啟',

重啟後占用記憶體:,

重啟後占用cpu:,

'''send_email(info)

break

linux上檢測服務占用記憶體並自動重啟

import os import socket def check the memory ip list hostname socket.gethostname 獲取計算機名稱 ip adress socket.gethostbyname hostname print ip adress ip ad...

linux 記憶體占用情況檢視並優化

1.使用top 檢視記憶體的占用情況,該命令類似於windows系統的記憶體管理器,然後鍵入 m 命令根據記憶體的占用情況降序排列,看看記憶體主要由哪些程序占用。p 是cpu占用情況降序排列 2.再使用free m卻還有6.1g被占用 記憶體總共8g 仔細觀察後 發覺是cache 占用了大量記憶體。...

檢測並刪除被占用的檔案

在作業系統使用過程中,經常會遇到一些檔案被某些程式占用而無法被刪除的事情。這個時候,如果是手動進行的刪除可能影響還小,因為有很多方式可以解除引用,比如借助於其它的某軟體工具。但是在實際程式設計中,如果給乙個檔案重新命名,公升級的時候替換掉原來老的檔案等等就成了乙個致命的缺陷,由於一些不必要操作或其它...